Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jakartaee-platform-dev] [External] : Re: Concurrency TCK without remote EJB, javax.rmi.RemoteException

So the issue is simply that the glassfish web profile does not support ear deployments and instead of failing the deployment because it is an ear, glassfish is just not associating the session beans with an ejb jar. I know ears are not required for the web profile, so I'm not sure why glassfish does not just fail the deployment with that message.

The solution that works with both the platform and web profile is to have the test deployment be a war with an ejb jar lib. I have tested this with the ee.jakarta.tck.concurrent.spec.Platform.dd.DeploymentDescriptorTests on bot the web and platform dist of glassfish. The changes for that are in this commit:

https://github.com/jakartaredhat/concurrency/commit/4dcaac87c4ac05225c9debd1c424dfbda0eab29d

It's late, so I'll finish porting the other ears tomorrow and then update the PR. Whether or not that can be used remains to be determined.

On Jun 29, 2022 at 2:04:03 PM, Scott Marlow <smarlow@xxxxxxxxxx> wrote:


On 6/29/22 10:53 AM, Scott Stark wrote:
I'm looking into it. I have setup the following temp ci jobs to build the snapshot tck and run against the web profile.

Job to build EPL concurrency tck:

Job to run web profile against it:

Excellent progress!  The remaining failures are due to GlassFish 7 Web Profile not being able to deploy EAR deployments (`Could not deploy 171f174a-01eb-4077-9ab6-2111296b2972.ear`).

Scott


On Jun 29, 2022 at 4:08:33 AM, Scott Marlow <smarlow@xxxxxxxxxx> wrote:


On Wed, Jun 29, 2022, 12:46 AM Gurunandan Rao <gurunandan.rao@xxxxxxxxxx> wrote:

We are trying to verify the https://github.com/jakartaredhat/concurrency change, 


Thanks,
Scott


regards,
Guru

From: jakartaee-platform-dev <jakartaee-platform-dev-bounces@xxxxxxxxxxx> on behalf of Scott Stark <starksm64@xxxxxxxxx>
Sent: 29 June 2022 07:51
To: Scott Marlow <smarlow@xxxxxxxxxx>
Cc: jakartaee-platform developer discussions <jakartaee-platform-dev@xxxxxxxxxxx>
Subject: [External] : Re: [jakartaee-platform-dev] Concurrency TCK without remote EJB, javax.rmi.RemoteException
 
So there is a successful run against the web profile here:

I don't know what went into that.

From the server.log of your run, there are several additional errors like:

Caused by: java.lang.RuntimeException: Invalid application.  EJB CounterSingleton exposes a Remote client view. This feature is not part of the EJB 3.1 Lite API
	at com.sun.ejb.containers.BaseContainer.assertFullProfile(BaseContainer.java:1029)
	at com.sun.ejb.containers.BaseContainer.<init>(BaseContainer.java:557)
	at com.sun.ejb.containers.StatelessSessionContainer.<init>(StatelessSessionContainer.java:111)
	at com.sun.ejb.containers.StatelessSessionContainer.<init>(StatelessSessionContainer.java:105)
	at com.sun.ejb.containers.StatelessContainerFactory.createContainer(StatelessContainerFactory.java:37)
	at org.glassfish.ejb.startup.EjbApplication.loadContainers(EjbApplication.java:198)
	... 66 more
The concurrency tck used can't be the updated version as there is only one CounterSingleton class in the tck, and it is now:
@Stateless
public class CounterSingleton implements Counter {

   private int count = 0;

   public void inc() {
      count++;
   }

   public int getCount() {
      return count;
   }

   public void reset() {
      count = 0;
   }
}

public interface Counter {

   public void inc();

   public int getCount();

   public void reset();
}

On Jun 28, 2022 at 2:56:44 PM, Scott Marlow <smarlow@xxxxxxxxxx> wrote:


On 6/28/22 1:51 PM, Scott Marlow wrote:


On 6/28/22 1:42 PM, Scott Stark wrote:
I have create a fork of the concurrency project and update the tck to only use local EJBs and even removed use of javax.rmi.RemoteException:

I have build the current glassfish repo and run the appserver/tests/tck/concurrency project against a build of this version of the concurrency TCK. It is showing no errors when run with SE 17. The PR for this update is here:

I'll fork the Platform TCK CI Concurrency test job to run with https://download.eclipse.org/ee4j/glassfish/web-7.0.0-SNAPSHOT-nightly.zip + https://github.com/jakartaee/concurrency/pull/245 and see what that shows.

https://gist.github.com/scottmarlow/404db044a9745095b13050547044318d is copy of a failure from server.log that I see when testing with https://github.com/jakartaee/concurrency/pull/245 and some additional changes I needed for running pushed to https://github.com/scottmarlow/concurrency/tree/marlowhack

CI job link is https://ci.eclipse.org/jakartaee-tck/job/10/job/jakarta-concurrency-tck-glassfish-run_hacktest/10

Some of the output copied from the server.log:

"

1. A valid ejb jar requires at least one session, entity (1.x/2.x style), or message-driven bean. 
2. EJB3+ entity beans (@Entity) are POJOs and please package them as library jar. 
3. If the jar file contains valid EJBs which are annotated with EJB component level annotations (@Stateless, @Stateful, @MessageDriven, @Singleton), please check server.log to see whether the annotations were processed properly.
	at org.glassfish.ejb.deployment.util.EjbBundleValidator.accept(EjbBundleValidator.java:123)
"

Does ^ mean that Local beans are also not handled by GlassFish 7 Web?  Or something else?

Scott

Scott


I'm not sure how to test this against a web profile configuration of glassfish. Can that be done from the appserver/tests/tck/concurrency project?




_______________________________________________
jakartaee-platform-dev mailing list
jakartaee-platform-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/jakartaee-platform-dev
_______________________________________________
jakartaee-platform-dev mailing list
jakartaee-platform-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/jakartaee-platform-dev

_______________________________________________
jakartaee-platform-dev mailing list
jakartaee-platform-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/jakartaee-platform-dev

Back to the top