Title: Re: How to package utility classes and third party classes with the EAR
Hi Johan,
The dependency graph is as follows:
war
  |-->servlets & jsps
  |    |-->dependent-jar
and the archive is as follows
 
ear
  |--war
  |--ejb-jar ( contains about 647 SB and 206 EB - CMP )
  |--dependent-jar
The dependent jar contains classes that are used by both the SB and the controller servlet and JSPs. These classes ( I call them base classes ) are the heart of the application as we have simulated a runtime ( something as you get in a 4 GL client server sort of environment ) using these classes.
 
Now here is list of features we want in the deployment structure
1. Hot deployment of a single or multiple SBs or EBs.
2. Hot deployment of the base classes.
3. Ease of re-deployment ( so that we dont have to create the ear again and again )
4. Usage of Local interfaces instead of remote as we need to pass objects by reference.
 
Since the deployable archive turns out to be around 250 MB WLS runs out of memory while trying to deploy.
 
Moreover I noted that if you create an ear and deploy it and later undeploy a single SB that is contained in the EAR WLS undeploys the entire EAR - HIGHLY undesirable.
 
What we have done for time being --
1. Created a JAR of the base classes and set that in system classpath for WLS 7.
2. Created 647 separate jars for the SBs and deployed them individually.
3. Created 206 separate jars for the EBs and deployed them individually.
4. Deployed the WAR file separately.
 
But due to this we pay the penalty of using remote interface calls.
We have used the WLS specific feature of Call By Reference - but we want to get away from it.
 
Please indicate in case you require any further information.
 
Any help is welcome.
Cheers
Rohit
 
-----Original Message-----
From: Johan Eltes [mailto:[EMAIL PROTECTED]]
Sent: Friday, January 24, 2003 11:24 PM
To: Rohit Parik; [EMAIL PROTECTED]
Subject: Re: How to package utility classes and third party classes withthe EAR

At runtime, WLS 7 makes all jars of the ear available to all J2EE module classloaders, regardles of whether there is a classpath entry in the module archive manifests. This is a defect of WLS. You problem occurs already at deploy time, but I would suspect that it is not related to the manifests of module archives. I’m not sure I have understood your dependency graph. Would the following description mirror your dependencies?

war
  |-->ejb-jar
  |    |-->dependent-jar
  |-->dependent-jar

with the following archive layout:

ear
  |--war
  |--ejb-jar
  |--dependent-jar

/Johan

Den 2003-01-23 10.56, skrev "Rohit Parik" <[EMAIL PROTECTED]>:

How do i package utility classes / third party classes with my EAR that already contains about 648 session beans. These interfaces of these session beans use those utility classes.

When i try to deploy the EAR after including the utility classes as a simple jar in the EAR WLS 7 is unable to deploy and gives a NoClassDefFoundError.

I understand that one should package these sort of classes using the ejb-client-jar option. But some how even that is not working.

I do not want to keep these in the system class path as any pactch would mean restart of WLS which is highly undesirable.

Any solution is welcome.

Regards
Rohit


Reply via email to