EJB recompile during deployment
Hi,
What are the criteria for the WebLogic Server (we use 9.1) for recompiling
EJBs? I have build an Application with several EJB.jar files in a directoy
structure that is something like this:
Application
|- deploy
| |- foo-EJB.jar
| |- bar-EJB.jar
|- libraries
| |- commons-lang-2.1.jar
|- META-INF
| |- MANIFEST.MF
| |- application.xml
| |- weblogic-application.xml
|- other-stuff
When I deploy this application directly from this directory on a Windows PC,
erverything works fine, but after packing it into an ear file, putting it
on a SUN machine and deploying the ear file, the server starts recompiling
several of the EJB.jar files. Why is it doing this?
Greetings,
Chris
Olav,
<load-on-startup> in web.xml will work only when you have load-on-startup="true" in your http-web-site.xml for your web module.
for example <web-app application="work" name="work" root="/work" load-on-startup="true"/>
This is documented in http://otn.oracle.com/tech/java/oc4j/htdocs/OC4J-WEB-FAQ.html#1
regards
Debu
Hi!
Currently I am working on an application that we are deploying on the oc4j-server and simultaneously on the SUN reference-implementation. Using the deployment descriptor I define the order of instantiation of the servlets (<load-on-startup>). This works fine using the SUN server. Deploying the application on the oc4j-server does not get to the servlet-initialization since the server tries to create the EJBs first. I would gladly tell the server somehow that this is both not necessary and even rather problematic to the application. Does anybody know how to achive this?
Thanks in advance!
Cheers,
Olav
Similar Messages
-
How to suppress EJB creation during deployment
Hi!
Currently I am working on an application that we are deploying on the oc4j-server and simultaneously on the SUN reference-implementation. Using the deployment descriptor I define the order of instantiation of the servlets (<load-on-startup>). This works fine using the SUN server. Deploying the application on the oc4j-server does not get to the servlet-initialization since the server tries to create the EJBs first. I would gladly tell the server somehow that this is both not necessary and even rather problematic to the application. Does anybody know how to achive this?
Thanks in advance!
Cheers,
OlavOlav,
<load-on-startup> in web.xml will work only when you have load-on-startup="true" in your http-web-site.xml for your web module.
for example <web-app application="work" name="work" root="/work" load-on-startup="true"/>
This is documented in http://otn.oracle.com/tech/java/oc4j/htdocs/OC4J-WEB-FAQ.html#1
regards
Debu
Hi!
Currently I am working on an application that we are deploying on the oc4j-server and simultaneously on the SUN reference-implementation. Using the deployment descriptor I define the order of instantiation of the servlets (<load-on-startup>). This works fine using the SUN server. Deploying the application on the oc4j-server does not get to the servlet-initialization since the server tries to create the EJBs first. I would gladly tell the server somehow that this is both not necessary and even rather problematic to the application. Does anybody know how to achive this?
Thanks in advance!
Cheers,
Olav -
Undable to bind EJB Home during deploy
Hi
I'm getting an exception when I redeploy to weblogic81. I have and ear with several ejb jars in it. The following is the message I get...
Unable to bind EJB Home Interface to the JNDI name: EJBTestService. javax.naming.NameAlreadyBoundException: EJBTestService is already bound; remaining name :at weblogic.jndi.internal.BasicNamingNode.bindHere(BasicNamingNode.java:333) at weblogic.jndi.internal.ServerNamingNode.bindHere(ServerNamingNode.java:124) at weblogic.jndi.internal.BasicNamingNode.bind(BasicNamingNode.java:291) at weblogic.jndi.internal.WLEventContextImpl.bind(WLEventContextImpl.java:279) at weblogic.jndi.internal.WLContextImpl.bind(WLContextImpl.java:384) at weblogic.ejb20.deployer.ClientDrivenBeanInfoImpl.activate(ClientDrivenBeanInfoImpl.java:1116) at weblogic.ejb20.deployer.EJBDeployer.activate(EJBDeployer.java:1362) at weblogic.ejb20.deployer.EJBModule.activate(EJBModule.java:631)
This error doesn't always occur with the same jar in the ear. Sometimes the above jar prepares and activates fine and another one fails.
If anyone has any idea I'd appreciate feedback.Hello,
The error suggests that an object is already bound to the JNDI name.
This can happen if you have 2 or more ejbs in your EAR file wit the same JNDI name or if your application has not fully/cleanly undeployed before you try to redeploy it.
I suspect the latter is your problem. Once you have undeployed your application use the weblogic console to view your JNDI tree and make sure nothing is bound that should not be bound. Then redeploy your app. If you still have the problem check your ear does not have duplicate ejbs or ejbs using the same JNDI name. -
WL8.1 crashed during deployment of EJB from ear file
Hello,
WL8.1 crashed during deployment of EJB from ear file on SunOs 5.8:
error: Invalid class file format in /export/home/bea/j2sdk1.4.1_03/jre/lib/rt.jar(java/lang/AssertionError.class).
The major.minor version '48.0' is too recent for this tool to understand.
/export/home/mydomain/./ep1/.wlnotdelete/EJBCompilerCache/1xd25ws3hwp86/mydomain/facade/payroll/PayrollFL_vww01c_HomeImpl.java:83:
Class java.lang.AssertionError not found.
throw new AssertionError("Unable to find expected "+
Thanks,
Oleg.Thank you Mark,
It works now.
Oleg.
"Mark Griffith" <[email protected]> wrote:
I don't think though that _03 is the problem, you should have compatability
between minor versions of a VM release. How did you deploy the ear?
Did
you copy over from a 7.0 domain? It looks like the EJB was built on
a
previous version of WLS, or has not had "ejbc" run on it prior to
deployment. Try running weblogic.appc foo.ear or fooExplodedEar. And
then
try redeploying. To be sure everything is clean rm -rf .wldonotdelete
after
you shut the server down.
cheers
mbg
"Oleg" <[email protected]> wrote in message
news:3ef54653$[email protected]..
Hello,
WL8.1 crashed during deployment of EJB from ear file on SunOs 5.8:
error: Invalid class file format in/export/home/bea/j2sdk1.4.1_03/jre/lib/rt.jar(java/lang/AssertionError.class
The major.minor version '48.0' is too recent for this tool to understand.
/export/home/mydomain/./ep1/.wlnotdelete/EJBCompilerCache/1xd25ws3hwp86/mydo
main/facade/payroll/PayrollFL_vww01c_HomeImpl.java:83:
Class java.lang.AssertionError not found.
throw new AssertionError("Unable to find expected "+
Thanks,
Oleg. -
NoClassDefFoundError during deployment & accessing EJBs in ear
Platform - Redhat Linux 7.2 weblogic6.0 ant 1.3 for compilation and creation of ear.
I get a NoClassDefFoundError when I try to access some of the EJBs in my deployed
ear file.
Previously, I faced a NoClassDefFoundError problem in deployment and I put the jar
containing
the classes that it was asking for, in the classpath in startWeblogic.sh.
The ear got deployed after that.
Error I am getting now...
2002-04-29 18-05-18 - bang - <INFO> - Type :Operation Groups
2002-04-29 18-05-18 - bang - <INFO> - SELECT member FROM s_access_group WHERE site
= ? AND facility
= ? AND type = ? AND name in('null')
2002-04-29 18-05-18 - bang - <DEBUG> - DB Connection closed
2002-04-29 18-05-18 - bang - <DEBUG> - DB Connection closed
2002-04-29 18-05-18 - bang - <ERROR> - Controller: createSessionForTheUser: Caught
Remote exception
while creating SessionMgrEJB
java.rmi.RemoteException: EJB Exception:; nested exception is:
java.lang.NoClassDefFoundError: com/seagate/edcs/server/system/sysmgr/GroupDetails
java.lang.NoClassDefFoundError: com/seagate/edcs/server/system/sysmgr/GroupDetails
at com.seagate.edcs.util.system.SecurityUtils.getMembersOfGroups(SecurityUtils.java:205)
at com.seagate.edcs.util.system.SecurityUtils.getGuestPrivileges(SecurityUtils.java:376)
at com.seagate.edcs.server.system.sessionmgr.SessionMgrEJB.ejbCreate(SessionMgrEJB.java:127)
I have done the same compilation and creation of ear and deployment in a Solaris
server, using the
same source code and build.xml ( ant build file) and ant properties file; never saw
any errors like this.
I unjared the ear lying in the solaris machine that I was using previously and the
ear that
I created now in the linux server, and saw a difference in the manifest files...
the manifest files remains same as what I decribe with the EJB source in the previous
(solaris)
case...
Manifest-Version: 1.0
Created-By: 1.3.0 (Sun Microsystems Inc.)
Class-Path: edcs2000_utility.jar edcsreportmgr.jar wipgrpmgr.jar resourcegrpmgr.jar
systemgrpmgr.jar
notificationmgr.jar role.jar user.jar
The manifest file in the ear created now in the linux machine is something like this;
different
from what I describe together with the EJB.
Manifest-Version: 1.0
Name: com/seagate/edcs/server/system/role/RoleEJBHomeImpl_WLStub.class
Name: com/seagate/edcs/server/system/role/ACLDetails.class
Name: WLGENERATED
Name: com/seagate/edcs/server/system/role/RolePK.class
Name: com/seagate/edcs/server/system/role/RoleEJBHomeImplAD.ser
Name: com/seagate/edcs/server/system/role/RoleEJBEOImpl_WLStub.class
Name: com/seagate/edcs/server/system/role/RoleEJBEOImpl.class
Name: META-INF/ejb-jar.xml
what might be the issue here ? Please do have a look and help!
Thanks in advance
Prabin.Hi Kevin,
Use remote EJB method calls. For details, look for "Parent application" topic in this forum or Servlet development guide in Oracle Documentation Library. I know, it does not seem to be the right source when looking for EJB documentation, however, it is.
Daniel. -
Error during deployment of Message Driven Bean
Environment: WLS 6.1SP3 on Win2K SP2, non-clustered.
I am getting some error (or perhaps warning) during deployment of Message
Driven Bean. Any one seen this before?
This error only comes on a machine with Dual Network card.
Thanks.
####<Dec 11, 2002 1:23:04 AM GMT> <Info> <EJB> <QAAPP01> <Makalu> <main>
<system> <> <010008> <EJB Deploying file: AppRuntime.jar>
####<Dec 11, 2002 1:23:04 AM GMT> <Warning> <J2EE> <QAAPP01> <Makalu> <main>
<system> <> <160007> <You are running WebLogic Server with J2EE 1.3 features
enabled. The implementation of specific J2EE 1.3 features (EJB 2.0, JSP 1.2,
Servlet 2.3, and J2EE Connector Architecture 1.0) in BEA WebLogic Server 6.1
is of a non-final version of the appropriate specification. It is subject to
change in future releases once the specification becomes finalized. This may
cause application code developed for BEA WebLogic Server 6.1 that uses the
new features of J2EE 1.3 to be incompatible with the J2EE 1.3 platform
supported in future releases of BEA WebLogic Server.>
####<Dec 11, 2002 1:23:07 AM GMT> <Warning> <EJB> <QAAPP01> <Makalu> <main>
<system> <> <010061> <The Message-Driven EJB: ASYNCMessageDrivenBean is
unable to connect to the JMS destination: CQM_MessageQueue. The EJB
container will automatically attempt to re-establish the connection with the
JMS server. This warning may occur during WebLogic Cluster start-up if the
JMS destination is located on another server. When the JMS server connection
is re-established, the Message-Driven EJB will again receive JMS messages.
The Error was:
Unable to create a JNDI InitialContext to lookup the JMS destination. The
error was:
javax.naming.CommunicationException. Root exception is
java.net.ConnectException: t3://127.0.0.1:7001: Destination unreachable;
nested exception is:
java.net.ConnectException: Connection refused: connect; No available router
to destination
at weblogic.rjvm.RJVMFinder.findOrCreate(RJVMFinder.java:155)
at weblogic.rjvm.ServerURL.findOrCreateRJVM(ServerURL.java:207)
at
weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialCon
textFactoryDelegate.java:307)
at
weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialCon
textFactoryDelegate.java:211)
at
weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFact
ory.java:149)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:660)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:241)
at javax.naming.InitialContext.init(InitialContext.java:217)
at javax.naming.InitialContext.<init>(InitialContext.java:193)
at
weblogic.ejb20.deployer.MessageDrivenBeanInfoImpl.getInitialContext(MessageD
rivenBeanInfoImpl.java:641)
at
weblogic.ejb20.internal.JMSConnectionPoller.createJMSConnection(JMSConnectio
nPoller.java:474)
at
weblogic.ejb20.internal.JMSConnectionPoller.connectToJMS(JMSConnectionPoller
.java:418)
at
weblogic.ejb20.internal.JMSConnectionPoller.startJMSConnectionPolling(JMSCon
nectionPoller.java:286)
at
weblogic.ejb20.deployer.MessageDrivenBeanInfoImpl.deploy(MessageDrivenBeanIn
foImpl.java:511)
at weblogic.ejb20.deployer.Deployer.deployDescriptor(Deployer.java:1294)
at weblogic.ejb20.deployer.Deployer.deploy(Deployer.java:996)
at weblogic.j2ee.EJBComponent.deploy(EJBComponent.java:31)
at weblogic.j2ee.Application.addComponent(Application.java:170)
at weblogic.j2ee.J2EEService.addDeployment(J2EEService.java:117)
at
weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentT
arget.java:360)
at
weblogic.management.mbeans.custom.DeploymentTarget.addDeployments(Deployment
Target.java:285)
at
weblogic.management.mbeans.custom.DeploymentTarget.updateServerDeployments(D
eploymentTarget.java:239)
at
weblogic.management.mbeans.custom.DeploymentTarget.updateDeployments(Deploym
entTarget.java:199)
at java.lang.reflect.Method.invoke(Native Method)
at
weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl
.java:636)
at
weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:6
21)
at
weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBea
nImpl.java:360)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
at $Proxy34.updateDeployments(Unknown Source)
at
weblogic.management.configuration.ServerMBean_CachingStub.updateDeployments(
ServerMBean_CachingStub.java:2977)
at
weblogic.management.mbeans.custom.ApplicationManager.startConfigManager(Appl
icationManager.java:372)
at
weblogic.management.mbeans.custom.ApplicationManager.start(ApplicationManage
r.java:160)
at java.lang.reflect.Method.invoke(Native Method)
at
weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl
.java:636)
at
weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:6
21)
at
weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBea
nImpl.java:360)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
at $Proxy49.start(Unknown Source)
at
weblogic.management.configuration.ApplicationManagerMBean_CachingStub.start(
ApplicationManagerMBean_CachingStub.java:480)
at weblogic.management.Admin.startApplicationManager(Admin.java:1234)
at weblogic.management.Admin.finish(Admin.java:644)
at weblogic.t3.srvr.T3Srvr.start(T3Srvr.java:524)
at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:207)
at weblogic.Server.main(Server.java:35)
>
####<Dec 11, 2002 1:23:07 AM GMT> <Info> <EJB> <QAAPP01> <Makalu> <main>
<system> <> <010009> <EJB Deployed EJB with JNDI name
ASYNCMessageDrivenBean.>
Hi Tom
Yes we do have an URL provided in the descriptor. It's
t3://jms.server.net:7001.
and the jms.server.net is resolved via a hosts file in Win2K
eg,
192.168.100.200 jms.server.net
You are right in saying that the loopback in a dual-net card is a problem.
But our solution
above solves the issue as long as your host file does not use 127.0.0.1 as
the IP.
We need the URL b/c depending on our client's deployment , the JMS Server
may be remote or may be local.
"Tom Barnes" <[email protected]> wrote in message
news:[email protected]...
> Hi x,
>
> Something to do with the loopback and dual-network cards is
> messin' with WLS' mind. I do not know what the problem is,
> but I can guess:
>
> You have specified an URL in the MDB descriptor when there
> is no need for one. If t3://127.0.0.1:7001 is in the same
> cluster the MDB is running in (I suspect this URL is
> actually the same WL server), then don't specify the URL.
> This URL is only useful for connecting an MDB to a JMS
> server that is outside local server and outside the cluster.
> The URL may be working on single-network card systems
> as perhaps then WL has enough info to guess that you
> actually mean the local WL server, and simply converts
> the context to a local context.
>
> Note that the URL option in the MDB descriptor is actually
> a WebLogic extension of J2EE.
>
> Tom
>
>
>
> x wrote:
> > Environment: WLS 6.1SP3 on Win2K SP2, non-clustered.
> >
> > I am getting some error (or perhaps warning) during deployment of
Message
> > Driven Bean. Any one seen this before?
> > This error only comes on a machine with Dual Network card.
> >
> > Thanks.
> >
> >
> >
> > ####<Dec 11, 2002 1:23:04 AM GMT> <Info> <EJB> <QAAPP01> <Makalu> <main>
> > <system> <> <010008> <EJB Deploying file: AppRuntime.jar>
> > ####<Dec 11, 2002 1:23:04 AM GMT> <Warning> <J2EE> <QAAPP01> <Makalu>
<main>
> > <system> <> <160007> <You are running WebLogic Server with J2EE 1.3
features
> > enabled. The implementation of specific J2EE 1.3 features (EJB 2.0, JSP
1.2,
> > Servlet 2.3, and J2EE Connector Architecture 1.0) in BEA WebLogic Server
6.1
> > is of a non-final version of the appropriate specification. It is
subject to
> > change in future releases once the specification becomes finalized. This
may
> > cause application code developed for BEA WebLogic Server 6.1 that uses
the
> > new features of J2EE 1.3 to be incompatible with the J2EE 1.3 platform
> > supported in future releases of BEA WebLogic Server.>
> > ####<Dec 11, 2002 1:23:07 AM GMT> <Warning> <EJB> <QAAPP01> <Makalu>
<main>
> > <system> <> <010061> <The Message-Driven EJB: ASYNCMessageDrivenBean is
> > unable to connect to the JMS destination: CQM_MessageQueue. The EJB
> > container will automatically attempt to re-establish the connection with
the
> > JMS server. This warning may occur during WebLogic Cluster start-up if
the
> > JMS destination is located on another server. When the JMS server
connection
> > is re-established, the Message-Driven EJB will again receive JMS
messages.
> > The Error was:
> > Unable to create a JNDI InitialContext to lookup the JMS destination.
The
> > error was:
> > javax.naming.CommunicationException. Root exception is
> > java.net.ConnectException: t3://127.0.0.1:7001: Destination unreachable;
> > nested exception is:
> > java.net.ConnectException: Connection refused: connect; No available
router
> > to destination
> > at weblogic.rjvm.RJVMFinder.findOrCreate(RJVMFinder.java:155)
> > at weblogic.rjvm.ServerURL.findOrCreateRJVM(ServerURL.java:207)
> > at
> >
weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialCon
> > textFactoryDelegate.java:307)
> > at
> >
weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialCon
> > textFactoryDelegate.java:211)
> > at
> >
weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFact
> > ory.java:149)
> > at
javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:660)
> > at
javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:241)
> > at javax.naming.InitialContext.init(InitialContext.java:217)
> > at javax.naming.InitialContext.<init>(InitialContext.java:193)
> > at
> >
weblogic.ejb20.deployer.MessageDrivenBeanInfoImpl.getInitialContext(MessageD
> > rivenBeanInfoImpl.java:641)
> > at
> >
weblogic.ejb20.internal.JMSConnectionPoller.createJMSConnection(JMSConnectio
> > nPoller.java:474)
> > at
> >
weblogic.ejb20.internal.JMSConnectionPoller.connectToJMS(JMSConnectionPoller
> > .java:418)
> > at
> >
weblogic.ejb20.internal.JMSConnectionPoller.startJMSConnectionPolling(JMSCon
> > nectionPoller.java:286)
> > at
> >
weblogic.ejb20.deployer.MessageDrivenBeanInfoImpl.deploy(MessageDrivenBeanIn
> > foImpl.java:511)
> > at
weblogic.ejb20.deployer.Deployer.deployDescriptor(Deployer.java:1294)
> > at weblogic.ejb20.deployer.Deployer.deploy(Deployer.java:996)
> > at weblogic.j2ee.EJBComponent.deploy(EJBComponent.java:31)
> > at weblogic.j2ee.Application.addComponent(Application.java:170)
> > at weblogic.j2ee.J2EEService.addDeployment(J2EEService.java:117)
> > at
> >
weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentT
> > arget.java:360)
> > at
> >
weblogic.management.mbeans.custom.DeploymentTarget.addDeployments(Deployment
> > Target.java:285)
> > at
> >
weblogic.management.mbeans.custom.DeploymentTarget.updateServerDeployments(D
> > eploymentTarget.java:239)
> > at
> >
weblogic.management.mbeans.custom.DeploymentTarget.updateDeployments(Deploym
> > entTarget.java:199)
> > at java.lang.reflect.Method.invoke(Native Method)
> > at
> >
weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl
> > .java:636)
> > at
> >
weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:6
> > 21)
> > at
> >
weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBea
> > nImpl.java:360)
> > at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
> > at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
> > at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
> > at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
> > at $Proxy34.updateDeployments(Unknown Source)
> > at
> >
weblogic.management.configuration.ServerMBean_CachingStub.updateDeployments(
> > ServerMBean_CachingStub.java:2977)
> > at
> >
weblogic.management.mbeans.custom.ApplicationManager.startConfigManager(Appl
> > icationManager.java:372)
> > at
> >
weblogic.management.mbeans.custom.ApplicationManager.start(ApplicationManage
> > r.java:160)
> > at java.lang.reflect.Method.invoke(Native Method)
> > at
> >
weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl
> > .java:636)
> > at
> >
weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:6
> > 21)
> > at
> >
weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBea
> > nImpl.java:360)
> > at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
> > at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
> > at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
> > at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
> > at $Proxy49.start(Unknown Source)
> > at
> >
weblogic.management.configuration.ApplicationManagerMBean_CachingStub.start(
> > ApplicationManagerMBean_CachingStub.java:480)
> > at weblogic.management.Admin.startApplicationManager(Admin.java:1234)
> > at weblogic.management.Admin.finish(Admin.java:644)
> > at weblogic.t3.srvr.T3Srvr.start(T3Srvr.java:524)
> > at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:207)
> > at weblogic.Server.main(Server.java:35)
> >
> > ####<Dec 11, 2002 1:23:07 AM GMT> <Info> <EJB> <QAAPP01> <Makalu> <main>
> > <system> <> <010009> <EJB Deployed EJB with JNDI name
> > ASYNCMessageDrivenBean.>
> >
> >
>
-
I encountered a bug while using the deploytool to deploy
an EAR file to the Sun J2EE 1.3_01 server.
I submitted a bug report to Sun via the Sun Java Developer Connection.
(Sorry, it has not been assigned a BugID yet)
Question:
Does anybody know if the web container in Sun's
J2EE 1.3_01 server supports access to local enterprise beans?
Screenshots of the bug are available at
http://sync4j.sourceforge.net/deploymentbug/
Full details below....
-Sean
category: j2ee
subcategory: deployment
release: 1.3_01
hardware: x86
OSversion: windows_2000
synopsis: java.lang.ClassCastException thrown during deployment of Session bean
java -version
java version "1.3.1_01"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_01)
Java HotSpot(TM) Client VM (build 1.3.1_01, mixed mode)
C:\j2sdkee1.3\bin>j2ee -version
Java 2 Enterprise Edition version 1.3_01, build 1.3_01-b01
I built a EJB 2.0 compliant stateful session bean.
The session bean has a remote interface (ISyncRemote),
a remote home interface (ISyncHomeRemote),
a local interface (ISyncLocal),
and a local home interface (ISyncHomeLocal).
I built an HTTP Servlet that is supposed to access
the Stateful Session Bean using ISyncHomeLocal and
ISyncLocal
I run "deploytool.bat" in GUI mode to perform the deployment.
During deployment, the deploytool GUI displays a message
box which states:
"There was a deployment error.
java.rmi.ServerException: RemoteException occurred in server thread;
nested exception is:
java.rmi.RemoteException: An error was encountered while loading
a web component.
Please refer to
<J2EE_HOME>/logs/<machine-name>/j2ee//j2ee/error.log
for more information. Please verify your Application with the
Verifier tool."
The "error.log" file did not contain any useful information.
I ran the J2EE "verifier.bat" tool to verify that my EAR archive is OK.
The Sun J2EE server output this error string:
"java.lang.ClassCastException:
com.sun.enterprise.deployment.EjbExternalDescriptor"
Here is the full output from the Sun J2EE server:
C:\j2sdkee1.3\bin>j2ee -verbose
J2EE server listen port: 1050
Naming service started:1050
Binding DataSource, name = jdbc/EstoreDB, url =
jdbc:cloudscape:rmi:CloudscapeDB;create=true
Binding DataSource, name = jdbc/Cloudscape, url =
jdbc:cloudscape:rmi:CloudscapeDB;create=true
Binding DataSource, name = jdbc/DB1, url =
jdbc:cloudscape:rmi:CloudscapeDB;create=true
Binding DataSource, name = jdbc/DB2, url =
jdbc:cloudscape:rmi:CloudscapeDB;create=true
Binding DataSource, name = jdbc/InventoryDB, url =
jdbc:cloudscape:rmi:CloudscapeDB;create=true
Binding DataSource, name = jdbc/XACloudscape, url = jdbc/XACloudscape__xa
Binding DataSource, name = jdbc/XACloudscape__xa, dataSource =
COM.cloudscape.core.RemoteXaDataSourc
e@245536
Starting JMS service...
Initialization complete - waiting for client requests
Binding: < JMS Destination : jms/Queue , javax.jms.Queue >
Binding: < JMS Destination : jms/Topic , javax.jms.Topic >
Binding: < JMS Cnx Factory : TopicConnectionFactory , Topic , No properties >
Binding: < JMS Cnx Factory : jms/TopicConnectionFactory , Topic , No properties
>
Binding: < JMS Cnx Factory : QueueConnectionFactory , Queue , No properties >
Binding: < JMS Cnx Factory : jms/QueueConnectionFactory , Queue , No properties
>
Starting web service at port: 8000
Starting secure web service at port: 7000
J2EE SDK/1.3
Starting web service at port: 9191
J2EE SDK/1.3
J2EE server startup complete.
Compiling c:\j2sdkee1.3\repository\rbi\gnrtrTMP\Sync4j Server enterprise
application\sync4j\server\s
yncbean\SyncBean_LocalHomeImpl.java ....
Compiling c:\j2sdkee1.3\repository\rbi\gnrtrTMP\Sync4j Server enterprise
application\sync4j\server\s
yncbean\SyncBean_EJBLocalObjectImpl.java ....
Compiling c:\j2sdkee1.3\repository\rbi\gnrtrTMP\Sync4j Server enterprise
application\sync4j\server\s
yncbean\SyncBean_RemoteHomeImpl.java ....
Compiling c:\j2sdkee1.3\repository\rbi\gnrtrTMP\Sync4j Server enterprise
application\sync4j\server\s
yncbean\SyncBean_EJBObjectImpl.java ....
rmic sync4j.server.syncbean.SyncBean_RemoteHomeImpl...
rmic sync4j.server.syncbean.SyncBean_EJBObjectImpl...
c:\j2sdkee1.3\repository\rbi\applications\Sync4j Server enterprise
application1004172068449Server.ja
r
Binding name:`java:comp/env/ejb/ISyncHomeRemote`
Binding name:`java:comp/env/ejb/ISyncHomeLocal`
java.lang.ClassCastException:
com.sun.enterprise.deployment.EjbExternalDescriptor
at com.sun.enterprise.deployment.EjbReferenceDescriptor.getValue
(EjbReferenceDescriptor.java
:202)
at com.sun.enterprise.naming.NamingManagerImpl.bindObjects
(NamingManagerImpl.java:394)
at com.sun.web.server.WebService.addContext(WebService.java:148)
at com.sun.web.server.ServletDeployerImpl.loadWebComponents
(ServletDeployerImpl.java:214)
at
com.sun.enterprise.tools.deployment.backend.JarInstallerImpl.deployWebComponent
s
(JarInsta
llerImpl.java:791)
at
com.sun.enterprise.tools.deployment.backend.JarInstallerImpl.deployApplication
(JarInstall
erImpl.java:219)
at
org.omg.stub.com.sun.enterprise.tools.deployment.backend._JarInstallerImpl_Tie.
invoke(Un
known Source)
at com.sun.corba.ee.internal.corba.ServerDelegate.dispatch
(ServerDelegate.java:355)
at com.sun.corba.ee.internal.iiop.ORB.process(ORB.java:273)
at com.sun.corba.ee.internal.iiop.RequestProcessor.process
(RequestProcessor.java:84)
at com.sun.corba.ee.internal.orbutil.ThreadPool$PooledThread.run
(ThreadPool.java:99)
Does the Sun J2EE server implementation support the invocation
of Session EJB's via a Local interface?
Does the Sun J2EE server implementation allow a Servlet to invoke
Session EJB's via the bean's Local interface?
While researching this issue, I read the J2EE 1.3 final specification.
The spec says:
"The EJB container is required to access to local enterprise beans.
We recommend that the web container also support access to local
enterprise beans."
Does the web container in Sun's J2EE server support access to local enterprise beans?I'm pretty much sure that you cannot access a
local Session bean from outside the EJB container.Please read the J2EE 1.3 specification before posting messages about EJB and J2EE.
According to the J2EE 1.3 specification:
"The EJB container is required to support access to local enterprise beans. We recommend that the web container also support access to local enterprise beans.
No support is provided for access to local enterprise beans from the application client container or the applet container."
If you use local interfaces for your session bean,
than your client must be local too. A local client is
a client that is collocated in the same JVM with the
session/entity that provides the local view and which
can be tightly coupled to the bean.My client is running in the same JVM as my EJB. The client is a servlet. The servlet is running in the same JVM as the EJB.
For what its worth, the error that I observed occurs during deployment. I haven't figured out why deployment is failing. -
The DOCTYPE declaration in the ejb-jar.xml deployment descriptor is missing
Hello,
I want to create web service from ejb but everytime I want to do it, I get the following error:
I'm using NWDS 7.2 and JDK 1.6
[004]Deployment aborted
Settings
SDM host : XXX
SDM port : 50118
URL to deploy : file:/C:/DOCUME1/XXXX/LOCALS1/Temp/temp3760382784932063822XXXWSProjectEar.ear
Result
=> deployment aborted : file:/C:/DOCUME1/XXX/LOCALS1/Temp/temp3760382784932063822XXX/WSProjectEar.ear
Aborted: development component 'XXXWSProjectEar'/'sap.com'/'localhost'/'2011.01.06.15.48.31'/'0':
Caught exception during application deployment from SAP J2EE Engine's deploy service:
java.rmi.RemoteException: Cannot deploy application sap.com/XXXWSProjectEar.. Reason: The DOCTYPE declaration in the ejb-jar.xml deployment descriptor is missing. ; nested exception is: com.sap.engine.services.ejb.exceptions.deployment.EJBXMLParserException: The DOCTYPE declaration in the ejb-jar.xml deployment descriptor is missing.
(message ID: com.sap.sdm.serverext.servertype.inqmy.extern.EngineApplOnlineDeployerImpl.performAction(DeploymentActionTypes).REMEXC)
Deployment exception : The deployment of at least one item aborted
Can anyone tell me why am I getting this error.
Thnx for your help.
Best regards.Hello Decio Junior,
Actually yes, I resolved my problem.
I'm developing an EJB 3.0 project. I'm using NWDS 7.2 and JDK 1.6 as I said.
The problem is that my server was using JDK 1.4 and that was the problem.
EJB 1.1 and 2.1 need ejb-jar.xml but EJB 3.0 use the annotations instead.
Check your server JDK Version. It should be JDK 1.5 or higher.
Something else that you should check, in your project properties :
In the Build PATH : Use JDK 1.5
In the Java Compiler : Set the java compiler compliance level to 1.6 and check use default compliance settings
Hope it would help.
If you need more explanations, I'm here
Good luck. -
EJB and Dictionary Deployment Problem
Hi,
I am new to SAP J2EE engine. I tried deploying a simple EJB application with one entity(CMP) and one stateless session bean but cud not succeed. These were the problems:
1. When I used SAPDB for CMP, it said the table TMP_EMPLOYEE (which the CMP bean maps to, as per persistet.xml) is not found in the catalog. Then I created a dictionary project with the TMP_EMPLOYEE table defined, but I couldn't deploy the dictionary archive. SDM (from the NWS IDE) says this:
Result
=> deployment not executed : file:/C:/DOCUME1/i031278/LOCALS1/Temp/temp11240EmployeeDB.sda
The SDA with development component 'EmployeeDB'/'sap.com'/'localhost'/'2004.11.25.19.41.45' changed its software type from J2EE to JDDSCHEMA. This change is not supported.
Deployment will be aborted.
Deployment exception : Got problems during deployment
2. When I changed the DB provider to MS_SQL_SERVER, which had EMPLOYEEDB/TMP_EMPLOYEE defined, and the SQL server was started, the Table was again not found! (i.e., if I switch off deploy-time table verification, this TableLockingException is thrown. Otherwise ORMappingVerificationException is thrown when the deploy-time verification switch is on).
I have specified the resource-ref etc properly now. This sample application also has a servlet which tries to access the session bean, which inturn talks to the CMP bean. I'm sure that the JNDI names are properly referred.
I am using SAP J2EE engine 6.40 with SP9 and IDE is 2.0.9.
Another thing: I tried to deploy the tutorial 'Car Rental EJB Application' application's dictionary. Even that failed with the same error!
Please help me with this.
Thanks a lot!
Regards,
PrashanthProblem solved in person
-
DTD not available during deployment
Hello
We had a problem that during the deployment of our ear, some dtd's of struts where not accessible on the internet. It seems that xml files are validated, during deployment, so the application was not deployed properly.
Is there a way to either :
- configure the container that no validatio should be done when deploying the ear
- put the dtd in the application itself, so we don't depend on the struts site wether we can deploy or not
grtz
Chris.The problem is I am trying to use JavaMail in an EJB and it gives me the error if I create a javax.mail.Session. If I comment out the Session, deployment is fine. I am thinking that maybe the problem is I am using 8i version 8.1.5 and it only supports java 1.1.8.
-
Class not found during deployment
I'm getting "class not found during deserialization of descriptor" during deployment of an EJB. What does this mean?
The problem is I am trying to use JavaMail in an EJB and it gives me the error if I create a javax.mail.Session. If I comment out the Session, deployment is fine. I am thinking that maybe the problem is I am using 8i version 8.1.5 and it only supports java 1.1.8.
-
System out of memory during deployment
Hello everybody,
I have a J2EE project and a respective EAR-project to deploy my application on the WebAS 6.40 (SP13).
Since yesterday I have the problem that when I add a new entity bean to my J2EE project I got the following error during deployment.
If I remove the entity bean there is no problem to deploy the project.
I tried a lot of things, e.g. changing the heap size of the developing workspace or of the sdm, but no results. Has someone an idea?
Is there probably a limit for beans in a J2EE project?
===========================================================================
Deployment started Wed Aug 17 11:58:00 CEST 2005
===========================================================================
Starting Deployment of HPMisEAR
Aborted: development component 'HPMisEAR'/'com.hp'/'localhost'/'2005.08.17.11.51.27':
Caught exception during application deployment from SAP J2EE Engine's deploy service:
java.rmi.RemoteException: Cannot deploy application com.hp/HPMisEAR.. Reason: Errors while compiling:
The system is out of resources.
Consult the following stack trace for details.
java.lang.OutOfMemoryError
; nested exception is: com.sap.engine.services.ejb.exceptions.deployment.EJBFileGenerationException: Errors while compiling:
The system is out of resources.
Consult the following stack trace for details.
java.lang.OutOfMemoryError
(message ID: com.sap.sdm.serverext.servertype.inqmy.extern.EngineApplOnlineDeployerImpl.performAction(DeploymentActionTypes).REMEXC)
Deployment of HPMisEAR finished with Error (Duration 51252 ms)
Thanks for help,
Paulo
Message was edited by: Paulo CaladoHi,
thank you very much, it works now.
Best regards,
Paulo -
Minimizing outages during deployment
I've got a largish (for us) WLI application with some 50 or EJB's and 15 webapps. (The Integration processes get compiled into EJB's and webapps). The entire EAR file is around 15Mb, and because of the size of this behemoth, we're looking at splitting it up into smaller pieces.
However, whether or not this thing gets split, we have an issue with downtime during deployment. The app is supporting our manufacturing processes, and our uptime requirements are as close to 24x7 as possible. With enhancement requests and bug fixes we'll likely be updating the app every two weeks. The entire application is message driven: JMS using MQ as a provider, MDB's triggering the JPD's. In most cases the end users (VMS clients written in Fortran/C) send a message and are waiting for a response. Clients are running manufacturing processes and cannot be delayed without financial impact.
What is the best practice around deployment in a production environment, without disrupting the end users? JMS will handle buffering, etc, but how do we minimize the time of the outage during an upgrade? Documentation around deployment best-practices is scarce at best.
thanks
mikeHi,
Regarding current situation, I suggest we turn on the client logging functionality, run the following command on the WDS server:
WDSUTIL /Set-Server /WDSClientLogging /Enabled:Yes
Then, you can find setup logs from the client computer by referring to following article, and see which driver failed to install.
How to enable logging in Windows Deployment Services (WDS) in Windows Server 2003, Windows Server 2008, Windows Server 2008 R2, and in Windows Server 2012
http://support.microsoft.com/kb/936625/en-us
Then, we can try to integrate this driver in the captured image and try to deploy again.
Keep post.
Kate Li
TechNet Community Support -
Error during deployment writing deployemnt cache
I get this error every time I try to deploy from JDeveloper to oc4j. Only shutdown and redeploy works.
Error instantiating compiler: IO error writing cache: D:\oc4j\j2ee\home\applic
ation-deployments\App\Appejb.jar\deployment.cache
It might have something to do with EJB being in memory? Any better ideas on how to deal with this?
Thank you,
Mark KomosaHi!
I had the same problem too. But not using JDeveloper, but the deploy-tool/command line option. It is probably the same thing almos I guess. The problem is that oc4j doesn't really give you any information about what is really wrong during deployment. I too tried to just shut it down and do a restart. That seemed to help some times. The generation of wrapper classes and their compilation is nowhere near stable. I got a really interesting error because I had a variable named "dirty" in one of my beans. It seemed like oc4j generated a wrapper containing a variable with the same name (sic!) and this caused a compilation error when this variable was initialiazed in some point of their code... Renaming my variable "solved" the problem.
Also try the auto-deploy mechanism. This might work better for you.
If you are using local interfaces, be sure that your bean implementation does not have any methods which declare or use RemoteException. This might be stupid to point out, but I have used the same bean implementation for both remote and local interfaces in Jboss, forgetting to remove these declarations from the bean implementation (I never actually throw RemoteExceptions, just EJBExceptions), and their wrapper classes do not care about this. Of course the exceptions shouldn't be there but this caused errors for me and maybe someone else is suffering from this unknowingly.
All in all, I can now deploy to 9.0.3 Developers' Preview with not very much hassle (just the deployment being awfully slow and memory consuming). Of course, now I have downloaded the 9.0.3 "Production" release and now I am getting new errors using the same ear-file which works fine in DR... it makes you a little bit irritated to say the least.
Regards,
Jonas Bergqvist -
Validation errors weblogic-webservices.xml during deploy for valid dd
Hi,
I am trying to set the login-config for my JAXWS EJB webservice endpoint, but I weblogic doesn't accept my weblogic-webservices.xml
I validated my weblogic-webservices.xml using several xml validator tools and all say it is valid.
Here is the weblogic-webservices.xml
<?xml version='1.0' encoding='UTF-8'?>
<weblogic-webservices
xmlns="http://xmlns.oracle.com/weblogic/weblogic-webservices"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:j2ee="http://java.sun.com/xml/ns/j2ee"
xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-webservices http://xmlns.oracle.com/weblogic/weblogic-webservices/1.1/weblogic-webservices.xsd http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<webservice-description>
<webservice-description-name>AppManager</webservice-description-name>
<port-component>
<port-component-name>AppManager</port-component-name>
<service-endpoint-address>
<webservice-contextpath>/AppManagerService</webservice-contextpath>
<webservice-serviceuri>/AppManager</webservice-serviceuri>
</service-endpoint-address>
<login-config>
<j2ee:auth-method>BASIC</j2ee:auth-method>
<j2ee:realm-name>myrealm</j2ee:realm-name>
</login-config>
</port-component>
</webservice-description>
</weblogic-webservices>
Here are the validation errors I get during deployment:
VALIDATION PROBLEMS WERE FOUND problem: cvc-complex-type.2.4a: Expected elements 'auth-method@http://java.sun.com/xml/ns/j2ee realm-name@http://java.sun.com/xml/ns/j2ee form-login-config@http://java.sun.com/xml/ns/j2ee' instead of 'auth-method@http://xmlns.oracle.com/weblogic/weblogic-webservices' here in element login-config@http://xmlns.oracle.com/weblogic/weblogic-webservices:<null> problem: cvc-complex-type.2.4a: Expected elements 'auth-method@http://java.sun.com/xml/ns/j2ee realm-name@http://java.sun.com/xml/ns/j2ee form-login-config@http://java.sun.com/xml/ns/j2ee' instead of 'realm-name@http://xmlns.oracle.com/weblogic/weblogic-webservices' here in element login-config@http://xmlns.oracle.com/weblogic/weblogic-webservices:<null>
Error VALIDATION PROBLEMS WERE FOUND problem: cvc-complex-type.2.4a: Expected elements 'auth-method@http://java.sun.com/xml/ns/j2ee realm-name@http://java.sun.com/xml/ns/j2ee form-login-config@http://java.sun.com/xml/ns/j2ee' instead of 'auth-method@http://xmlns.oracle.com/weblogic/weblogic-webservices' here in element login-config@http://xmlns.oracle.com/weblogic/weblogic-webservices:<null> problem: cvc-complex-type.2.4a: Expected elements 'auth-method@http://java.sun.com/xml/ns/j2ee realm-name@http://java.sun.com/xml/ns/j2ee form-login-config@http://java.sun.com/xml/ns/j2ee' instead of 'realm-name@http://xmlns.oracle.com/weblogic/weblogic-webservices' here in element login-config@http://xmlns.oracle.com/weblogic/weblogic-webservices:<null>
If I remove the namespace indicator 'j2ee' it complains about the same. So it would seem that weblogic ignores the 'j2ee' resulting indeed in a invalid xml.
Can someone please help me to a weblogic-webservices.xml (example with login-config) that was accepted by weblogic?
Thanks a lot,
Eltjo.Hi,
Please try the following: ( Looks like you are mixing the Tag contents of web.xml as well as weblogic-webservice.xml together.... )
weblogic-webservice.xml
<?xml version='1.0' encoding='UTF-8'?>
<weblogic-webservices xmlns="http://www.bea.com/ns/weblogic/weblogic-webservices" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-webservices http://www.bea.com/ns/weblogic/weblogic-webservices/1.0/weblogic-webservices.xsd">
<webservice-description>
<webservice-description-name>AppManager</webservice-description-name>
<port-component>
<port-component-name>AppManager</port-component-name>
<service-endpoint-address>
<webservice-contextpath>/AppManagerService</webservice-contextpath>
<webservice-serviceuri>/AppManager</webservice-serviceuri>
</service-endpoint-address>
</port-component>
</webservice-description>
</weblogic-webservices>And Now provide the <login-config> information separately inside *"web.xml"* file
<login-config>
<auth-method>BASIC</j2ee:auth-method>
<realm-name>myrealm</j2ee:realm-name>
</login-config>.
Thanks
Jay SenSharma
Maybe you are looking for
-
Inserting data into one table using another table
Hi i have 2 tables CREATE TABLE N_SET N_ST_ID NUMBER(38) NOT NULL, ---- PK N_ST_NM VARCHAR2(50 BYTE) NOT NULL, N_ST_DSC VARCHAR2(200 BYTE), DFTID NUMBER ------ FK CREATE TABLE RZ NST_ID NUMBER(38) NOT NULL, ---- FK RID NUMBER(38) NOT NULL, --- PK RNM
-
[solved]arch mythfrontend does not fully work, mythbuntu works perfect
Hi All, I have a PC running mythbackend and frontend. I call this PC "server" I have a second PC, with only mythfrontend. I call this PC "Laptop" Mythfrontend on the server works fine, all recordings are visible under "media library->watch recordings
-
My phone got stolen, and instead of getting a new Iphone, I went to droid. After about a week I realized that I wasn't able to recieve texts from anyone with an Iphone due to my Imessage still being "active" on the servers. Heres the hard part.... I
-
How can I sync my iTunes Match covers to my iPhone?
I have recently found new cover art for many albums and replaced this art in my iMac desktop iTunes 11 files. However, the new art will not sync to my iTunes Match enabled devices (such as my iPhone or MacBook Air). I've tried turning Match on and
-
Hi guys, i am trying to design a web for my company. The company devided in to three parts. Every part has a slightly different menu. I assume i could use "tabbed panels" for that purpose but the contents of tabs are changed only on mouse click. I wo