| Quote: |
|
[27/04/05 12:06:06:499 EST] 4e84a81f ApplicationMg A WSVR0200I: Starting application: TraderX [27/04/05 12:06:06:624 EST] 4e84a81f EJBContainerI I WSVR0207I: Preparing to start EJB jar: TraderXEJB.jar [27/04/05 12:06:06:655 EST] 4e84a81f BeanMetaData E CNTR0075E: The user-provided class "com.genuitec.traderx.interfaces.EJSStatelessTraderHomeBean_a24cdc19" needed by the EnterpriseBean could not be found or loaded. [27/04/05 12:06:06:733 EST] 4e84a81f EJBContainerI E WSVR0209E: Unable to prepare EJB jar TraderXEJB.jar [class com.ibm.ws.runtime.component.DeployedModuleImpl], enterprise bean com.ibm.etools.ejb.impl.SessionImpl(Trader) (transactionType: Container, sessionType: Stateless) java.lang.ClassNotFoundException: com.genuitec.traderx.interfaces.EJSStatelessTraderHomeBean_a24cdc19 at com.ibm.ws.classloader.CompoundClassLoader.findClass(CompoundClassLoader.java:351) at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:261) at java.lang.ClassLoader.loadClass(ClassLoader.java:494) at com.ibm.ejs.container.BeanMetaData.loadExistedClass(BeanMetaData.java:2573) at com.ibm.ejs.container.BeanMetaData.<init>(BeanMetaData.java:888) at com.ibm.ws.runtime.component.EJBContainerImpl.createBeanMetaData(EJBContainerImpl.java:980) at com.ibm.ws.runtime.component.EJBContainerImpl.createModuleMetaData(EJBContainerImpl.java:796) at com.ibm.ws.runtime.component.EJBContainerImpl.createMetaData(EJBContainerImpl.java:1517) at com.ibm.ws.runtime.component.MetaDataMgrImpl.createFactoryMetaData(MetaDataMgrImpl.java:115) at com.ibm.ws.runtime.component.MetaDataMgrImpl.createMetaData(MetaDataMgrImpl.java:159) at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:350) at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:575) at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:271) at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:488) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:41) at java.lang.reflect.Method.invoke(Method.java:386) at com.tivoli.jmx.modelmbean.MMBInvoker.invoke(MMBInvoker.java:46) at com.tivoli.jmx.modelmbean.MMBInvoker.invokeOperation(MMBInvoker.java:115) at com.tivoli.jmx.modelmbean.DynamicModelMBeanSupport.invoke(DynamicModelMBeanSupport.java:409) at javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean.java:323) at com.tivoli.jmx.GenericMBeanSupport.invoke(GenericMBeanSupport.java:178) at com.tivoli.jmx.MBeanAccess.invoke(MBeanAccess.java:113) at com.tivoli.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:290) at com.ibm.ws.management.AdminServiceImpl.invoke(AdminServiceImpl.java:659) at com.ibm.ws.console.core.mbean.MBeanHelper.invoke(MBeanHelper.java:141) at com.ibm.ws.console.appdeployment.ApplicationDeploymentCollectionAction.perform(ApplicationDeploymentCollectionAction.java:315) at org.apache.struts.action.ActionServlet.processActionPerform(ActionServlet.java:1791) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1586) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:510) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110) at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174) at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313) at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116) at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283) at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42) at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:974) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:555) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:200) at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:119) at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:276) at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71) at com.ibm.ws.webcontainer.cache.invocation.CacheableInvocationContext.invoke(CacheableInvocationContext.java:114) at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:186) at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:334) at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56) at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:618) at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:439) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:593) [27/04/05 12:06:06:764 EST] 4e84a81f DeployedAppli W WSVR0206E: Module, TraderXEJB.jar, of application, TraderX.ear/deployments/TraderX, failed to start [27/04/05 12:06:06:780 EST] 4e84a81f ApplicationMg W WSVR0101W: An error occurred starting, TraderX |
| Quote: |
|
[28/04/05 09:43:13:344 EST] 6959cf14 BeanMetaData E CNTR0075E: The user-provided class "com.genuitec.traderx.interfaces.EJSStatelessTraderHomeBean_a24cdc19" needed by the EnterpriseBean could not be found or loaded. ... |
| Quote: |
|
I wasn't sure if this is just because it's a stateless session bean, so the instance is kept around (but shouldn't the class be reloaded anyway?). |
| Quote: |
|
Am I right in assuming that these extra classes are generated when the app is installed via the console? |
| Quote: |
|
And MyEclipse can't generated them, because they are WAS specific? |
| Quote: |
|
If so, I don't understand how this can ever work, since the exploded version will never have these classes. |
| Quote: | ||
This is exactly why you have to do the 2-step process: 1) ME: Deploy pacakged deployment 2) WebSphere: Deploy app (generated files) 3) ME: Remove packaged deployment (EAR deleted) 4) ME: Create new packaged deployment, now all your project files will *overlay* ontop of the ones already deployed into the app server. |
| Quote: |
|
1) ME: Deploy pacakged deployment |
| Quote: |
|
2) WebSphere: Deploy app (generated files) |
| Quote: |
|
3) ME: Remove packaged deployment (EAR deleted) |
| Quote: |
|
4) ME: Create new packaged deployment, now all your project files will *overlay* ontop of the ones already deployed into the app server. |
| Quote: |
|
An existing deployed resource has been found at location C:\Program Files\WebSphere\AppServer\installedApps\mbkw052092\TraderX.ear. Deployment of project TraderX will replace this resource. Please specify the action you wish to take during deployment: - Backup remote resource before deployment; restore upon undeployment - Delete remote resource before deployment |
| Code: |
|
- start with no app deployed/installed - add a packaged deployment in MyEclipse - backup the ear (in the InstallableApps) - remove the packaged deploy in MyEclipse this will remove the ear which is why we need the backed up - restore the ear from the backup - add an exploded deployment in MyEclipse - install the app in WAS - enable EJB reloading (step 1) - make sure you "Save to Master Configuration" this replaces the "exploded" EJB jar directory from MyEclipse with a EJB jar file from WAS that has the stubs - go to the InstalledApps directory and manually "explode" the EJB jar - rename TraderXEJB.jar to TraderXEJB.orig.jar - unzip the TraderXEJB.orig.jar to a directory named TraderXEJB.jar |
| Code: |
|
- start the app in WAS - use the app - make changes in MyEclipse - use the app again - the changes should show up :-) |
| Quote: |
|
"com.genuitec.traderx.interfaces.EJSStatelessTraderHomeBean_a24cdc19" needed by the EnterpriseBean could not be found or loaded. |
| Quote: |
|
WSVR0209E: Unable to prepare EJB jar {0}, enterprise bean {1} {2} Explanation: An EJB can fail preparation if the container required classes have not been generated for the EJB. User Response: Verify the EJB jar that contains the failed EJB {1} has been deployed. |
| Quote: |
|
[2/23/06 15:25:43:122 EST] f9d2b21 BeanMetaData E CNTR0075E: The user-provided class "**.ejbmodule.useraccount.interfaces.EJSStatelessUserAccountHomeBean_7a183e9a" needed by the EnterpriseBean could not be found or loaded. |