- This topic has 11 replies, 2 voices, and was last updated 15 years, 1 month ago by Aaron Scifres.
-
AuthorPosts
-
Aaron ScifresMemberHello,
I have a very large EAR containing multiple components that I am attempting to deploy to a WAS 6.1 server connector using MyEclipse Blue 7.5. This EAR contains multiple WAR, EJB, and utility modules that are present in the workspace as projects, as well as packaged jars from a separate release area. On deployment, it appears to be having problems with the EJBs when it generates the RMIC code. The generated classes fail to build because they cannot find my EJB classes (the EJBLocal, EJBLocalHome, etc) that should by all rights be in the very same directory as the generated classes. They are this way in the version of the EAR file that is deployed in our production environment.
I have inspected the deployment logs and determined that it is basically doing two things. First, it is creating a temporary version of the EAR, which contains all the projects from the workspace simply zipped up as jars, along with any jars referenced externally. This is put in my Local Settings/Temp directory as something like app234987539475394875.ear. Then, a jacl script in C:\Program Files\Genuitec\Pulse Explorer\configuration\org.eclipse.osgi\bundles\73\data\1724588385\plugins\com.genuitec.eclipse.blue.websphere61_7.5.1.zmyeclipse75120090914 gets invoked, which installs the EAR onto the server. This appears to be where the RMIC code is generated, and this process creates a temporary EAR in the WAS 6.1 profile directory in wstemp/wstemp down in a directory called something like app_12345d82d3/dpl/dpl_<my EAR name>._.
I tailed the deployment.log during a deployment, and grabbed copies of these files during the deployment process, just before the point where I got errors (and they got deleted by the scripts). I did a visual inspection of the contents and discovered that while the first ear file (from my temp directory) contained only the classes from my workspace (as I’d expect), the file in the WAS profile only contained the RMIC code, and not my original EJB classes/interfaces. Somewhere these are getting lost, though I don’t know where.
I have also tried exporting my EAR project as a .ear file from MyEclipse Blue, and then installing it directly onto the server via the admin console, and I get errors with that as well. I find that many of the projects from my workspace get put into the exported EAR as empty jars!
I have not tried this in MyEclipse Blue 8.0M1 yet, but that may be my next attempt. Do you know what is going on here and if this is a known issue with deploying complex EARs to WAS?
-Aaron
support-eugeneMemberascifres
we do not know about similar issues.1. Are you using local server or remote server?
2. Does MyEclipse report the deployment as successful (see status column in the Servers view).
3. Can you provide messages from the deployment log?
Aaron ScifresMember1. Local server (as in, WAS is installedr on my desktop and I am attempting to deploy to a profile on my hard drive via the server connector)
2. Deployment is a failure. The status is “redeploy”
3. Here is the deployment.log output:------------------------------------------------------------------------------------------------------------------------------- MyEclipse: deployment START explodedproject: FESEAR server: websphere61Server#FES_4_5_1_MEB time: Thu Oct 08 16:28:28 EDT 2009 ------------------------------------------------------------------------------------------------------------------------------- WASX7357I: By request, this scripting client is not connected to any server process. Certain configuration and application operations will be available in local mode. WASX7303I: The following options are passed to the scripting environment and are available as arguments that are stored in the argv variable: "[C:\tools\WAS6_Profiles\FES_4_5_1_MEB\installableApps\FESEAR.ear, L3N4668-LPNode12Cell, L3N4668-LPNode12, server1, FESEAR, {{"remoteWAR.war" "remoteWAR.war,WEB-INF/web.xml" default_host} {"FESLogin.war" "FESLogin.war,WEB-INF/web.xml" default_host} {"ProductInformation.war" "ProductInformation.war,WEB-INF/web.xml" default_host}}, {{"null" "remoteWAR.war,WEB-INF/ibm-web-ext.xmi"AppDeploymentOption.Yes 1} {"null" "FESLogin.war,WEB-INF/ibm-web-ext.xmi"AppDeploymentOption.Yes 1} {"null" "ProductInformation.war,WEB-INF/ibm-web-ext.xmi"AppDeploymentOption.Yes 1}}, false, true, true, C:/Program Files/Genuitec/MyEclipse 7.5 Blue/configuration/org.eclipse.osgi/bundles/11/1/.cp/scriptutil/scriptutil.jar, C:/tools/WAS6_Profiles/FES_4_5_1_MEB/installedApps/L3N4668-LPNode12Cell/FESEAR.ear/FailureEJB.jar;C:/tools/WAS6_Profiles/FES_4_5_1_MEB/installedApps/L3N4668-LPNode12Cell/FESEAR.ear/PaymentMDB.jar;C:/tools/WAS6_Profiles/FES_4_5_1_MEB/installedApps/L3N4668-LPNode12Cell/FESEAR.ear/ExternalOrderFailureEJB.jar;C:/tools/WAS6_Profiles/FES_4_5_1_MEB/installedApps/L3N4668-LPNode12Cell/FESEAR.ear/ExternalOrderTransactionEJB.jar;C:/tools/WAS6_Profiles/FES_4_5_1_MEB/installedApps/L3N4668-LPNode12Cell/FESEAR.ear/FraudDetectionStatisticsMDB.jar;C:/tools/WAS6_Profiles/FES_4_5_1_MEB/installedApps/L3N4668-LPNode12Cell/FESEAR.ear/GenericMDB.jar;C:/tools/WAS6_Profiles/FES_4_5_1_MEB/installedApps/L3N4668-LPNode12Cell/FESEAR.ear/ProductInformationDeleteItemMDB.jar;C:/tools/WAS6_Profiles/FES_4_5_1_MEB/installedApps/L3N4668-LPNode12Cell/FESEAR.ear/ExternalOrderTransferMDB.jar;C:/tools/WAS6_Profiles/FES_4_5_1_MEB/installedApps/L3N4668-LPNode12Cell/FESEAR.ear/sessionexecutorEJB.jar;C:/tools/WAS6_Profiles/FES_4_5_1_MEB/installedApps/L3N4668-LPNode12Cell/FESEAR.ear/ShadowInventoryStatusHandlerMDB.jar;C:/tools/WAS6_Profiles/FES_4_5_1_MEB/installedApps/L3N4668-LPNode12Cell/FESEAR.ear/infrastructurelongdatekeygeneratorEJB.jar]" C:\tools\WAS6_Profiles\FES_4_5_1_MEB\installableApps\FESEAR.ear L3N4668-LPNode12Cell L3N4668-LPNode12 server1 FESEAR {"remoteWAR.war" "remoteWAR.war,WEB-INF/web.xml" default_host} {"FESLogin.war" "FESLogin.war,WEB-INF/web.xml" default_host} {"ProductInformation.war" "ProductInformation.war,WEB-INF/web.xml" default_host} {"null" "remoteWAR.war,WEB-INF/ibm-web-ext.xmi"AppDeploymentOption.Yes 1} {"null" "FESLogin.war,WEB-INF/ibm-web-ext.xmi"AppDeploymentOption.Yes 1} {"null" "ProductInformation.war,WEB-INF/ibm-web-ext.xmi"AppDeploymentOption.Yes 1} -nopreCompileJSPs -distributeApp -useMetaDataFromBinary -deployejb -appname "FESEAR" -createMBeansForResources -reloadEnabled -reloadInterval 1 -deployws -validateinstall off -noprocessEmbeddedConfig -filepermission .*.dll=755#.*.so=755#.*.a=755#.*.sl=755 -buildVersion Unknown -noallowDispatchRemoteInclude -noallowServiceRemoteInclude -MapWebModToVH {{"remoteWAR.war" "remoteWAR.war,WEB-INF/web.xml" default_host} {"FESLogin.war" "FESLogin.war,WEB-INF/web.xml" default_host} {"ProductInformation.war" "ProductInformation.war,WEB-INF/web.xml" default_host}} -JSPReloadForWebMod {{"null" "remoteWAR.war,WEB-INF/ibm-web-ext.xmi"AppDeploymentOption.Yes 1} {"null" "FESLogin.war,WEB-INF/ibm-web-ext.xmi"AppDeploymentOption.Yes 1} {"null" "ProductInformation.war,WEB-INF/ibm-web-ext.xmi"AppDeploymentOption.Yes 1}} false true true C:/Program Files/Genuitec/MyEclipse 7.5 Blue/configuration/org.eclipse.osgi/bundles/11/1/.cp/scriptutil/scriptutil.jar C:/tools/WAS6_Profiles/FES_4_5_1_MEB/installedApps/L3N4668-LPNode12Cell/FESEAR.ear/FailureEJB.jar;C:/tools/WAS6_Profiles/FES_4_5_1_MEB/installedApps/L3N4668-LPNode12Cell/FESEAR.ear/PaymentMDB.jar;C:/tools/WAS6_Profiles/FES_4_5_1_MEB/installedApps/L3N4668-LPNode12Cell/FESEAR.ear/ExternalOrderFailureEJB.jar;C:/tools/WAS6_Profiles/FES_4_5_1_MEB/installedApps/L3N4668-LPNode12Cell/FESEAR.ear/ExternalOrderTransactionEJB.jar;C:/tools/WAS6_Profiles/FES_4_5_1_MEB/installedApps/L3N4668-LPNode12Cell/FESEAR.ear/FraudDetectionStatisticsMDB.jar;C:/tools/WAS6_Profiles/FES_4_5_1_MEB/installedApps/L3N4668-LPNode12Cell/FESEAR.ear/GenericMDB.jar;C:/tools/WAS6_Profiles/FES_4_5_1_MEB/installedApps/L3N4668-LPNode12Cell/FESEAR.ear/ProductInformationDeleteItemMDB.jar;C:/tools/WAS6_Profiles/FES_4_5_1_MEB/installedApps/L3N4668-LPNode12Cell/FESEAR.ear/ExternalOrderTransferMDB.jar;C:/tools/WAS6_Profiles/FES_4_5_1_MEB/installedApps/L3N4668-LPNode12Cell/FESEAR.ear/sessionexecutorEJB.jar;C:/tools/WAS6_Profiles/FES_4_5_1_MEB/installedApps/L3N4668-LPNode12Cell/FESEAR.ear/ShadowInventoryStatusHandlerMDB.jar;C:/tools/WAS6_Profiles/FES_4_5_1_MEB/installedApps/L3N4668-LPNode12Cell/FESEAR.ear/infrastructurelongdatekeygeneratorEJB.jar -deployejb ADMA5016I: Installation of FESEAR started. ADMA5058I: Application and module versions are validated with versions of deployment targets. ADMA5018I: The EJBDeploy command is running on enterprise archive (EAR) file C:\Documents and Settings\ascifres\Local Settings\Temp\app8143035844698085182.ear. Starting workbench. EJB Deploy configuration directory: c:\Program Files\IBM\WebSphere\AppServer\deploytool\itp\configuration/ framework search path: c:\Program Files\IBM\WebSphere\AppServer\deploytool\itp\plugins Debug options: Creating the project. Deploying jar infrastructurelongkeygeneratorEJB Creating Top Down Map Generating deployment code Generating DDL Generating DDL Deploying jar infrastructurelongkeygeneratorsessionEJB Generating deployment code Deploying jar sessionEJB Creating Top Down Map Generating deployment code Generating DDL Generating DDL Deploying jar sessionsessionEJB Generating deployment code Deploying jar ExternalOrderTransactionEJB Generating deployment code Deploying jar ExternalOrderFailureEJB Generating deployment code Deploying jar ExternalOrderTransferMDB Generating deployment code Deploying jar FailureEJB Generating deployment code Deploying jar FraudDetectionStatisticsMDB Generating deployment code Deploying jar GenericMDB Generating deployment code Deploying jar PaymentMDB Generating deployment code Deploying jar ProductInformationDeleteItemMDB Generating deployment code Deploying jar ShadowInventoryStatusHandlerMDB Generating deployment code Deploying jar infrastructurelongdatekeygeneratorEJB Generating deployment code Deploying jar sessionexecutorEJB Generating deployment code ejbModule/com/mycompany/db/utilities/ConcreteLongKeyGeneratorEJB_35add54e.java(78): The method getInjector() from the type ConcreteLongKeyGeneratorEJB_35add54e is never used locally ejbModule/com/mycompany/session/service/ConcreteSessionEJB_24c7f8dd.java(78): The method getInjector() from the type ConcreteSessionEJB_24c7f8dd is never used locally ejbModule/com/mycompany/mom/payment/xml/PaymentParser.java(24): The field PaymentParser.itemId is never read locally ejbModule/com/mycompany/mom/payment/xml/PaymentParser.java(25): The field PaymentParser.prodId is never read locally ejbModule/com/mycompany/mom/payment/xml/PaymentParser.java(26): The field PaymentParser.retCode is never read locally ejbModule/com/mycompany/mom/payment/xml/PaymentParser.java(28): The field PaymentParser.invStatus is never read locally ejbModule/com/mycompany/mom/payment/xml/PaymentParser.java(29): The field PaymentParser.timestamp is never read locally ejbModule/com/mycompany/mom/payment/xml/PaymentParser.java(31): The field PaymentParser.retVal is never read locally ejbModule/com/mycompany/mom/payment/xml/PaymentParser.java(32): The field PaymentParser.sMessage is never read locally ejbModule/com/mycompany/mom/payment/application/TestPaymentMDB.java(196): The method addIndicatorElement(Element, String, Date, String) from the type TestPaymentMDB is never used locally ejbModule/com/mycompany/mom/payment/application/TestPaymentMDB.java(234): The method addIndicatorElement(Element, String, String, String) from the type TestPaymentMDB is never used locally ejbModule/com/mycompany/mom/payment/PaymentResponseMDB.java(52): The serializable class PaymentResponseMDB does not declare a static final serialVersionUID field of type long ejbModule/com/mycompany/mom/inventory/prod/ShadowInventoryStatusHanderMDB.java(51): The serializable class ShadowInventoryStatusHanderMDB does not declare a static final serialVersionUID field of type long ejbModule/com/mycompany/mom/inventory/application/TestMDB.java(39): The field TestMDB.log is never read locally ejbModule/com/mycompany/db/utilities/EJSRemoteStatelessLongDateKeyGeneratorEJBBean_9ffb7fb6.java(8): LongDateKeyGeneratorEJB cannot be resolved to a type ejbModule/com/mycompany/db/utilities/EJSRemoteStatelessLongDateKeyGeneratorEJBBean_9ffb7fb6.java(8): LongDateKeyGeneratorEJB cannot be resolved to a type ejbModule/com/mycompany/db/utilities/EJSRemoteStatelessLongDateKeyGeneratorEJBBeanHome_9ffb7fb6.java(8): com.mycompany.db.utilities.LongDateKeyGeneratorEJBHome cannot be resolved to a type ejbModule/com/mycompany/db/utilities/EJSRemoteStatelessLongDateKeyGeneratorEJBBeanHome_9ffb7fb6.java(8): com.mycompany.db.utilities.LongDateKeyGeneratorEJBHome cannot be resolved to a type ejbModule/com/mycompany/db/utilities/EJSLocalStatelessLongDateKeyGeneratorEJBBean_9ffb7fb6.java(9): com.mycompany.db.utilities.LongDateKeyGeneratorEJBLocal cannot be resolved to a type ejbModule/com/mycompany/db/utilities/EJSLocalStatelessLongDateKeyGeneratorEJBBean_9ffb7fb6.java(9): com.mycompany.db.utilities.LongDateKeyGeneratorEJBLocal cannot be resolved to a type ejbModule/com/mycompany/db/utilities/EJSLocalStatelessLongDateKeyGeneratorEJBBeanHome_9ffb7fb6.java(9): com.mycompany.db.utilities.LongDateKeyGeneratorEJBLocalHome cannot be resolved to a type ejbModule/com/mycompany/db/utilities/EJSLocalStatelessLongDateKeyGeneratorEJBBeanHome_9ffb7fb6.java(9): com.mycompany.db.utilities.LongDateKeyGeneratorEJBLocalHome cannot be resolved to a type Shutting down workbench. Execution Halted: Compilation Errors Reported 4 Errors, 14 Warnings, 0 Informational Messages ADMA5007I: The EJBDeploy command completed on C:\tools\WAS6_Profiles\FES_4_5_1_MEB\wstemp\wstemp\app_12435d7182f\dpl\dpl_FESEAR.ear ADMA5008E: EJBDeploy failed on C:\tools\WAS6_Profiles\FES_4_5_1_MEB\wstemp\wstemp\app_12435d7182f\dpl\dpl_FESEAR.ear: com.ibm.websphere.management.exception.AdminException: ADMA0063E: An error occurred in EJB deployment - [ejbModule/com/mycompany/db/utilities/EJSRemoteStatelessLongDateKeyGeneratorEJBBean_9ffb7fb6.java(8): LongDateKeyGeneratorEJB cannot be resolved to a type, ejbModule/com/mycompany/db/utilities/EJSRemoteStatelessLongDateKeyGeneratorEJBBeanHome_9ffb7fb6.java(8): com.mycompany.db.utilities.LongDateKeyGeneratorEJBHome cannot be resolved to a type, ejbModule/com/mycompany/db/utilities/EJSLocalStatelessLongDateKeyGeneratorEJBBean_9ffb7fb6.java(9): com.mycompany.db.utilities.LongDateKeyGeneratorEJBLocal cannot be resolved to a type, ejbModule/com/mycompany/db/utilities/EJSLocalStatelessLongDateKeyGeneratorEJBBeanHome_9ffb7fb6.java(9): com.mycompany.db.utilities.LongDateKeyGeneratorEJBLocalHome cannot be resolved to a type] com.ibm.websphere.management.exception.AdminException: ADMA0063E: An error occurred in EJB deployment - [ejbModule/com/mycompany/db/utilities/EJSRemoteStatelessLongDateKeyGeneratorEJBBean_9ffb7fb6.java(8): LongDateKeyGeneratorEJB cannot be resolved to a type, ejbModule/com/mycompany/db/utilities/EJSRemoteStatelessLongDateKeyGeneratorEJBBeanHome_9ffb7fb6.java(8): com.mycompany.db.utilities.LongDateKeyGeneratorEJBHome cannot be resolved to a type, ejbModule/com/mycompany/db/utilities/EJSLocalStatelessLongDateKeyGeneratorEJBBean_9ffb7fb6.java(9): com.mycompany.db.utilities.LongDateKeyGeneratorEJBLocal cannot be resolved to a type, ejbModule/com/mycompany/db/utilities/EJSLocalStatelessLongDateKeyGeneratorEJBBeanHome_9ffb7fb6.java(9): com.mycompany.db.utilities.LongDateKeyGeneratorEJBLocalHome cannot be resolved to a type] at com.ibm.ws.management.application.task.DeployEJBTask.performTask(DeployEJBTask.java:355) at com.ibm.ws.management.application.SchedulerImpl.run(SchedulerImpl.java:263) at java.lang.Thread.run(Thread.java:810) ADMA5011I: The cleanup of the temp directory for application FESEAR is complete. ADMA5014E: The installation of application FESEAR failed. WASX7017E: Exception received while running file "C:\Program Files\Genuitec\Pulse Explorer\configuration\org.eclipse.osgi\bundles\data24588385\plugins\com.genuitec.eclipse.blue.websphere61_7.5.1.zmyeclipse75120090914\installEAR.jacl"; exception information: com.ibm.ws.scripting.ScriptingException: WASX7132E: Application install for C:\tools\WAS6_Profiles\FES_4_5_1_MEB\installableApps\FESEAR.ear failed: see previous messages for details.
Note that the “cannot be resolved to a type” errors are on files that should be in the same directory as each other, but upon inspection of the partial EAR the original EJB related classes (the non-generated ones) don’t appear to be present at all.
-Aaron
Aaron ScifresMemberI just tried this using release 8.0 M1 and got exactly the same results.
support-eugeneMemberDo your EJB projects have single source folder?
Aaron ScifresMemberYes, the single source folder is in the root of the project: ejbModule. Some of the projects have that same folder as the default output folder, others have a bin folder at the root of the project as the default output folder.
support-eugeneMemberUnfortunately I can’t understand where this problem comes from.
Can you deploy some EJB module as a standalone jar, not a part of EAR?
Aaron ScifresMemberHow should I do that? Simply deploy the EJB project to the server connector? Doesn’t that create an EAR to contain it? I tried it anyway and got the same “cannot be resolved to a type” error messages as before.
support-eugeneMemberCan you try and create a new EJB project and copy the EJB jar contents there? Will it deploy?
Aaron ScifresMemberI will try that.
In the meantime I took my EJB project and imported just it into a new workspace and reproduced the error there. If it would help you debug the issue, I can send you either just that project, or the new workspace. Let me know if that would be helpful.
support-eugeneMember@ascifres wrote:
I will try that.
In the meantime I took my EJB project and imported just it into a new workspace and reproduced the error there. If it would help you debug the issue, I can send you either just that project, or the new workspace. Let me know if that would be helpful.
That would be simply awesome 🙂 Please send to support@genuitec.com and include “Attn: Eugene” in subject and URL of this post in the body. I will do my best to reproduce the problem and provide a walkaround and/or a fix for our next version.
Aaron ScifresMemberOk, I will do that.
By the way, I created a new EJB project from scratch, copied the ejbModule directory (source and META-INF) into the new project, and deployed it to the server, and it completed without errors. So the problem is somewhere in the settings of the existing project. I will send you the workspace containing both projects.
-
AuthorPosts