Event-driven Portlets via Message Driven Beans
Anyone have leads on how to force a BEA portlet (of any variety) to refresh based on server-side events? Such as when an MDB is triggered by an incoming message?
Within the proper confines of an MVC architecture, of course.
Thanks,
-Joe
When configuring the filter the partyscheme was filled automatically. In the received message this field was empty.
Similar Messages
-
WebLogic hangs around after shutdown process appears to complete - Message Driven Bean related
On my current project we have some Ant scripts that automatically
start and stop WebLogic. The stop script equates to (not exactly but
close enough):
java weblogic.Admin -url localhost:8001 -password password -username
username SHUTDOWN
WebLogic is start and shutdown for each system module. All modules
use the exact same script for these two actions. Some of the modules
use Message Driven Beans and consequently, since these use JMS, a
JMSxxx.dat file is generated in the jms_store directory. As part of
the cleanup process the jms_store directory and all files in it are to
be deleted AFTER WebLogic shuts down.
The shutdown process works fine in all cases where JMS is not used and
in all cases where JMS IS used but there are NO message driven beans.
However, when there is a message driven bean the server does not shut
down in a timely manner, sometimes not at all (no error messages are
produced), and the JMSxx.dat file
remains locked. Consequently, all of the tests run via the ant script
for modules come to a grinding halt (i.e. environment could not be
cleaned so further tests would be skewed).
Can anyone shed some light on a definitive order of events during
WebLogic's shutdown process? What is the best way to test for the
server being up? I know there is a ping utility for weblogic - should
this be used or should a connection to a JNDI or JMS listening port do
the trick? Any other ideas would be welcome.
Thanks in advance,
MarkOn my current project we have some Ant scripts that automatically
start and stop WebLogic. The stop script equates to (not exactly but
close enough):
java weblogic.Admin -url localhost:8001 -password password -username
username SHUTDOWN
WebLogic is start and shutdown for each system module. All modules
use the exact same script for these two actions. Some of the modules
use Message Driven Beans and consequently, since these use JMS, a
JMSxxx.dat file is generated in the jms_store directory. As part of
the cleanup process the jms_store directory and all files in it are to
be deleted AFTER WebLogic shuts down.
The shutdown process works fine in all cases where JMS is not used and
in all cases where JMS IS used but there are NO message driven beans.
However, when there is a message driven bean the server does not shut
down in a timely manner, sometimes not at all (no error messages are
produced), and the JMSxx.dat file
remains locked. Consequently, all of the tests run via the ant script
for modules come to a grinding halt (i.e. environment could not be
cleaned so further tests would be skewed).
Can anyone shed some light on a definitive order of events during
WebLogic's shutdown process? What is the best way to test for the
server being up? I know there is a ping utility for weblogic - should
this be used or should a connection to a JNDI or JMS listening port do
the trick? Any other ideas would be welcome.
Thanks in advance,
Mark -
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.>
> >
> >
>
-
Create EJB 3.0 Message Driven Bean on a Oracle JMS (AQ)
Hi, I need to develop a EJB 3.0 Message Driven Bean. The MDB has to work on a Oracle AQ using Oracle JMS. Is there any how-to document giving an example about this issue. Can you give an example how to create the JMS destination in OC4J (how to configure the Oracle JMS AQ in OC4j), issue the JMS destination via annotions (resource injection) in the MDB. Please give me a working example of the MDB and a test client to produce a message. Regards, Arjan Jorritsma
Check your ejb-jar.xml and see if it has the version of "2.1" there...
If the application was depending upon EJB 3.0 annotations but it had a ejb-jar.xml that had version set to "2.1" and there was no oracle specific descriptor (orion-ejb-jar.xml) to designate it use the resource adapter; It would expect JMS destination and connection factory that is required for a JMS-MDB set in the ejb-jar.xml. So try to change the ejb-jar.xml to update the version to "3.0", OC4J would have parsed the annotation and combined the metadata with ejb-jar.xml and it would work.
-Frances -
WLS10 - message-driven bean init-suspended / max-suspended params
I have a message-driven bean deployed with my app. I also have a custom start-up class that binds an Oracle AQ to Weblogic's JNDI tree that this message-driven bean connects to. If our DBAs perform database maintanance over the weekend and bring the db down for a period of time, WebLogic 'suspends' the message-driven bean when the db becomes unresponsive.
This is fine if once the db comes back up, WebLogic would resume the message-driven bean, but it doesn't. Via the admin console, I've tried re-initializing the bean, and I've tried resuming the bean...neither work...both result in a success status but the bean remains with a status of suspended.
Upon digging, I learned there are two parameters you can set for MDBs in the descriptor file or EJBGen annotations called initSuspendSeconds and maxSuspendSeconds...setting masSuspedSeconds to 0, according to the docs, say the bean will never suspend. I use the EJB annotation methodology and added these to my @MessageDriven annotation block. WebLogic Workshop will not generate these parameters in the resultant descriptor, nor will the build I perform to our development application server.
I then went to the admin console and manually updated these fields...help docs from the admin console say the default is 0...online docs and my installation on both windows and linux result in a default of 5 for initSuspendSeconds and 60 for maxSuspendSeconds. Ok...so I override these manually from the admin console once I've deployed my application...only thing it does is it requiresthe creation of a deployment plan now and asks for a directory in which to store this deployment plan. Fine...but honestly...what is the deal with these fields that they're being ignored by EJBGen, their defaults do not follow the docs and changing them via the admin console requires a deployment plan?
Anyone know anything about these params? I'm using WLS10MP1, btw, not 10.3. Not sure if that makes a difference...but just thought I'd include that tidbit.
Any help is greatly appreciated.
Thanks,
Edited by: rlb3778 on Feb 20, 2009 11:56 AMSo if you add the following annotations to the top of your MDB, EJBGen creates the suspended parameters in the descriptor?
@MessageDriven(ejbName = "MyBean",
destinationJndiName = "SOME_QUEUE",
destinationType = "javax.jms.Queue",
transTimeoutSeconds = "3600",
maxBeansInFreePool = "1",
initialBeansInFreePool = "1",
initSuspendSeconds = 0,
maxSuspendSeconds = 0)
If I sent them to anything BUT 0 they're generated in the descriptor files but it ignores them if they're 0 and I WANT them to be 0 so the beans are never suspended. Oh well. I have a ticket open with support and they've confirmed that when they're et to 0 they're not generated and they claim because that's the default value which according to the spec, isn't...so I'm still waiting to hear back.
As for the JDBC connection, MDB resumeing upon reconnectiong of DB...our environments are very different...we do not have a JMS server running and maintained by Weblogic...we have a custom start-up class that binds our OracleAQ to Weblogic's JNDI tree and our MDB listens to the queue in the database. So i'm guessing because of that complex setup something is not working when the db queue disconnects. I will investigate our custom start-up class. Thanks for your help. -
A Question About Message Driven Bean Exception Handling
"Your onMessage method should handle all exceptions. It must not throw checked exceptions, and throwing a RuntimeException is considered a programming error."
The above sentence is from the JMS documentation.
I will use a message driven bean for guarenteeing to send an email with some critical info in case of an unexpected system failure. Say I was not able to save into db some critical info, therefore I want to send that info to myself with a mail to be able to handle that situation manually. Now in case of failure I will send a message to a queue which contains the critical info, and a message driven bean will listen for the message and send email to me. But what if the message driven bean fails ? If I am to handle any exceptions on my onMessage method, how will the messaging system be able to redeliver that message ? It seems to me the message will not remain in the queue anymore(I have consumed it) ?
Any help appreciated, thanks in advance.Fatih.Karakoc wrote:
"Your onMessage method should handle all exceptions. It must not throw checked exceptions, and throwing a RuntimeException is considered a programming error."
The above sentence is from the JMS documentation.
I will use a message driven bean for guarenteeing to send an email with some critical info in case of an unexpected system failure. Say I was not able to save into db some critical info, therefore I want to send that info to myself with a mail to be able to handle that situation manually. Now in case of failure I will send a message to a queue which contains the critical info, and a message driven bean will listen for the message and send email to me. But what if the message driven bean fails ? If I am to handle any exceptions on my onMessage method, how will the messaging system be able to redeliver that message ? It seems to me the message will not remain in the queue anymore(I have consumed it) ?
You can configure your queue to guarantee delivery. If you use JTA you can also make it transational, so the message is put back on the queue in the event of failure. Your configuration should also include max retries and a failure queue to make sure you don't get stuck in an infinite loop where a message can never be processed.
Which app server are you using? WebLogic makes it pretty easy to set these config parameters.
% -
Message Driven Bean - Configuration problem
Hi
I have created the connection factory as jms/ConnectionFactory and physical destination as PhysicalQueue and queue as jms/Queue as per
http://java.sun.com/j2ee/1.4/docs/tutorial/doc/MDB5.html#wp79772
http://java.sun.com/j2ee/1.4/docs/tutorial/doc/MDB6.html
But I am getting the following exception
[#|2005-03-10T13:36:52.970+0530|SEVERE|sun-appserver-pe8.0.0_01|javax.enterprise.system.core.classloading|_ThreadID=11;|LDR5004: UnExpected error occured while creating ejb container
javax.naming.NamingException: Message Destination Reference java:comp/env/jms/Queue has not been linked to a Message Destination
at com.sun.enterprise.naming.NamingManagerImpl.bindObjects(NamingManagerImpl.java:450)
at com.sun.ejb.containers.BaseContainer.setupEnvironment(BaseContainer.java:1759)
at com.sun.ejb.containers.BaseContainer.<init>(BaseContainer.java:376)
at com.sun.ejb.containers.MessageBeanContainer.<init>(MessageBeanContainer.java:118)
at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:196)
at com.sun.enterprise.server.AbstractLoader.loadEjbs(AbstractLoader.java:477)
at com.sun.enterprise.server.ApplicationLoader.load(ApplicationLoader.java:125)
at com.sun.enterprise.server.TomcatApplicationLoader.load(TomcatApplicationLoader.java:96)
at com.sun.enterprise.server.ApplicationManager.applicationDeployed(ApplicationManager.java:205)
at com.sun.enterprise.server.ApplicationManager.applicationDeployed(ApplicationManager.java:156)
at com.sun.enterprise.server.ApplicationManager.applicationDeployed(ApplicationManager.java:480)
at com.sun.enterprise.admin.event.AdminEventMulticaster.invokeApplicationDeployEventListener(AdminEventMulticaster.java:448)
at com.sun.enterprise.admin.event.AdminEventMulticaster.handleApplicationDeployEvent(AdminEventMulticaster.java:432)
at com.sun.enterprise.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:299)
at com.sun.enterprise.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:107)
at com.sun.enterprise.admin.server.core.mbean.config.ManagedServerInstance.multicastEvent(ManagedServerInstance.java:3880)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.sun.enterprise.admin.server.core.jmx.Introspector.invokeMethodOn(Introspector.java:181)
at com.sun.enterprise.admin.server.core.mbean.config.AdminBase.invoke(AdminBase.java:86)
at com.sun.enterprise.admin.server.core.mbean.config.ConfigMBeanBase.invoke(ConfigMBeanBase.java:680)
at com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.java:221)
at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:228)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:
My ejb-jar.xml is as below
<?xml version='1.0' encoding='UTF-8'?>
<ejb-jar
xmlns="http://java.sun.com/xml/ns/j2ee"
version="2.1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd"
>
<display-name>RegJAR</display-name>
<enterprise-beans>
<message-driven>
<ejb-name>RegistrationMDBean</ejb-name>
<ejb-class>com.registration.ejb.RegistrationMDBean</ejb-class>
<messaging-type>javax.jms.MessageListener</messaging-type>
<transaction-type>Container</transaction-type>
<message-destination-type>javax.jms.Queue</message-destination-type>
<message-destination-link>PhysicalQueue</message-destination-link>
<message-destination-ref>
<message-destination-ref-name>jms/Queue</message-destination-ref-name>
<message-destination-type>javax.jms.Queue</message-destination-type>
<message-destination-usage>Consumes</message-destination-usage>
<message-destination-link>PhysicalQueue</message-destination-link>
</message-destination-ref>
</message-driven>
</enterprise-beans>
<assembly-descriptor>
<container-transaction>
<method>
<ejb-name>RegistrationMDBean</ejb-name>
<method-name>onMessage</method-name>
<method-params>
<method-param>javax.jms.Message</method-param>
</method-params>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
</assembly-descriptor>
</ejb-jar>
Thanks
SuneeshIn stead of selecting the message destination I have selected the Message Dest Ref tab .But when I selected the message destination tab of JAR file I am getting the following error
[#|2005-03-10T15:51:22.263+0530|INFO|sun-appserver-pe8.0.0_01|javax.enterprise.system.tools.admin|_ThreadID=12;|ADM1041:Sent the event to instance:[ApplicationDeployEvent -- enable MDBEg]|#]
[#|2005-03-10T15:51:22.283+0530|SEVERE|sun-appserver-pe8.0.0_01|javax.enterprise.system.container.ejb.mdb|_ThreadID=12;|MDB00017: [RegistrationMDBean]: Exception in creating message-driven bean container: [com.sun.enterprise.connectors.ConnectorRuntimeException: JMS resource not created : ]|#]
[#|2005-03-10T15:51:22.283+0530|SEVERE|sun-appserver-pe8.0.0_01|javax.enterprise.system.container.ejb.mdb|_ThreadID=12;|com.sun.enterprise.connectors.ConnectorRuntimeException
com.sun.enterprise.connectors.ConnectorRuntimeException: JMS resource not created :
at com.sun.enterprise.connectors.system.ActiveJmsResourceAdapter.getPhysicalDestinationFromConfiguration(ActiveJmsResourceAdapter.java:296)
at com.sun.enterprise.connectors.system.ActiveJmsResourceAdapter.updateMDBRuntimeInfo(ActiveJmsResourceAdapter.java:232)
at com.sun.enterprise.connectors.inflow.ConnectorMessageBeanClient.setup(ConnectorMessageBeanClient.java:139)
at com.sun.ejb.containers.MessageBeanContainer.<init>(MessageBeanContainer.java:189)
at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:196)
at com.sun.enterprise.server.AbstractLoader.loadEjbs(AbstractLoader.java:477)
at com.sun.enterprise.server.ApplicationLoader.load(ApplicationLoader.java:125)
at com.sun.enterprise.server.TomcatApplicationLoader.load(TomcatApplicationLoader.java:96)
at com.sun.enterprise.server.ApplicationManager.applicationDeployed(ApplicationManager.java:205)
at com.sun.enterprise.server.ApplicationManager.applicationDeployed(ApplicationManager.java:156)
at com.sun.enterprise.server.ApplicationManager.applicationEnabled(ApplicationManager.java:590)
at com.sun.enterprise.admin.event.AdminEventMulticaster.invokeApplicationDeployEventListener(AdminEventMulticaster.java:454)
at com.sun.enterprise.admin.event.AdminEventMulticaster.handleApplicationDeployEvent(AdminEventMulticaster.java:432)
at com.sun.enterprise.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:299)
at com.sun.enterprise.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:107)
at com.sun.enterprise.admin.server.core.mbean.config.ManagedServerInstance.multicastEvent(ManagedServerInstance.java:3880)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.sun.enterprise.admin.server.core.jmx.Introspector.invokeMethodOn(Introspector.java:181)
at com.sun.enterprise.admin.server.core.mbean.config.AdminBase.invoke(AdminBase.java:86)
at com.sun.enterprise.admin.server.core.mbean.config.ConfigMBeanBase.invoke(ConfigMBeanBase.java:68
Thanks
Suneesh -
Message Driven bean not able to listen to IBM MQ
Hello,
I am trying to implement a Mesage Driven Bean on Weblogic 7.0.This MDB
would listen on a particular queue of IBM MQ.
I have written a Weblogic startUp class which registers the factory
into Weblogic JNDI.Am I supposed to register the queue as well? I am
confused about the queue part. In the deployement descriptor of the
MDB (weblogic-ejb-jar.xml), we have the the <destination-jndi-name>
tag which should be the Queue name (in my case the IBM MQ queue ). Am
I supposed to register that in the Weblogic JNDI as well? I mean do I
add the Queue part in my Weblogic start-up class as well? Else how
will The Queue be obtained?
I am sort of confused on this . I get the error :
<Apr 16, 2003 3:17:14 PM EDT> <Warning> <EJB> <010061> <The
Message-Driven EJB: SimpleMDB is unable
to connect to the JMS destination: ivtQ. The EJB container will
automatically attempt to re-establis
h 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:
The JMS destination with the JNDI name: ivtQ could not be found.
Please ensure that the JNDI name in
the weblogic-ejb-jar.xml is correct, and the JMS destination has been
deployed.>
Please guide .I am trying to find out this information(which isn`t
very difficult i think ) since quite a few days now but I have got no
reply whatsoever.Please let me know if I am posting in the wrong group
or should I place my query in some other group where I can get a
better response.
Thanks and regards,
Milan Doshi
I'm not familiar with this stuff, but Greg is out, so
hey, I'll give it a shot. Some random thoughts:
It seems odd that the MDB can find the factory in JNDI but
not the queue.
Make sure that the startup class is actually running the code
you think it is. Put println's before and after the queue binding
code. And as the white-paper suggests, use the "failure is
fatal" option for the startup class so that you know
if the class worked or not...
Put some trace code in the ignored "NumberFormatException" catch below.
Carefully check you log to see if there are other warnings or errors.
Note that you may wish to use MQ JNDI instead of createQueue
in the startup class to look up the queue. The "createQueue()"
will not necessarily return an object that is JNDI "capable", (vendor
specific)... If this is the case, then you will need to
write a "wrapper" class that implements Serializable but
finds its wrapped factory via some sort of static lookup.
Tom, BEA
P.S. Note that WebLogic 8.1 provides the ability
to "wrap" and deploy foreign JMS resources administratively
via the console. No startup class needed...
Milan Doshi wrote:
> Thanks for the response.
>
> I have written the startUp class but I am getting the following error:
>
> The Error was:
> The JMS destination with the JNDI name: MySenderQueue could not be
> found. Please ensure that the
> JNDI name in the weblogic-ejb-jar.xml is correct, and the JMS
> destination has been deployed.>
>
> =====
>
> My startup class is as follows:
>
> String qmPort = (String)args.get(QM_PORT_PROPERTY);
> String qmHost = (String)args.get(QM_HOST_PROPERTY);
> String qmName = (String)args.get(QM_NAME_PROPERTY);
>
> MQQueueConnectionFactory factory = new MQQueueConnectionFactory();
>
> factory.setQueueManager(qmName);
> factory.setHostName(qmHost);
> if (qmPort != null)
> {
> try
> {
> int portNum = Integer.parseInt(qmPort);
> factory.setPort(portNum);
> }
> catch (NumberFormatException ignore)
> {
>
> }
> }
> if (qmHost == null)
> {
> factory.setTransportType(JMSC.MQJMS_TP_BINDINGS_MQ);
>
>
> }
> else
> {
> factory.setTransportType(JMSC.MQJMS_TP_CLIENT_MQ_TCPIP);
> }
>
> InitialContext context = new InitialContext();
> context.bind(jndiName, factory);
>
> QueueConnection connection = factory.createQueueConnection();
> boolean transacted = false;
> QueueSession session = connection.createQueueSession( transacted,
> Session.AUTO_ACKNOWLEDGE);
> Queue ioQueue = session.createQueue("MySenderQueue");
>
> context.bind("MySenderQueue",ioQueue);
> context.close();
>
>
> ===================================================
>
> My Weblogic-ejb-jar.xml is like this:
>
> <weblogic-ejb-jar>
> <weblogic-enterprise-bean>
> <ejb-name>SimpleMDB</ejb-name>
> <message-driven-descriptor>
> <pool>
> <max-beans-in-free-pool>8</max-beans-in-free-pool>
> <initial-beans-in-free-pool>1</initial-beans-in-free-pool>
> </pool>
> <destination-jndi-name>MySenderQueue</destination-jndi-name>
> <connection-factory-jndi-name>
> MyQCF
> </connection-factory-jndi-name>
> </message-driven-descriptor>
> </weblogic-enterprise-bean>
> </weblogic-ejb-jar>
>
> ======================================================
>
> Can you please guide me what is wrong in registering the Queue?
>
> Thanks once again for the response,
>
> Milan Doshi
>
>
> "Greg Brail" <[email protected]> wrote in message news:<[email protected]>...
>
>>You don't have to use a startup class to do this unless you want to. If you
>>use IBM's "JMSAdmin" tool to register the MQ connection factory and
>>destination objects into a JNDI provider, then you need only specify the
>>right JNDI stuff in weblogic-ejb-jar.xml. You might want to look at the
>>white paper for more information on exactly how to do this:
>>
>>http://dev2dev.bea.com/resourcelibrary/whitepapers/jmsproviders.jsp
>>
>>However, there might be reasons to use the startup class anyway. With the
>>startup class, you don't have to mess with a JNDI provider for MQ. The white
>>paper also contains a sample startup class.
>>
>>If you do this with a startup class, you do indeed need to bind BOTH the
>>MQSeries ConnectionFactory and Queue objects into WebLogic JNDI. You then
>>need to make the MDB use those particular objects (the ones you created in
>>the startup class) for both the connection factory and the queue. The
>>resulting weblogic-ejb-jar.xml file would look like this:
>>
>><weblogic-ejb-jar>
>> <weblogic-enterprise-bean>
>> <ejb-name>YourMDBName</ejb-name>
>> <message-driven-descriptor>
>> <pool>
>> <max-beans-in-free-pool>8</max-beans-in-free-pool>
>> <initial-beans-in-free-pool>1</initial-beans-in-free-pool>
>> </pool>
>> <destination-jndi-name>
>> YourQueueNameFromTheStartupClass
>> </destination-jndi-name>
>> <connection-factory-jndi-name>
>> ConnectionFactoryNameFromTheStartupClass
>> </connection-factory-jndi-name>
>> </message-driven-descriptor>
>> </weblogic-enterprise-bean>
>></weblogic-ejb-jar>
>>
>>Hope this helps.
>>
>> greg
>>
>>"Milan Doshi" <[email protected]> wrote in message
>>news:[email protected]...
>>
>>>Hello,
>>>
>>>I am trying to implement a Mesage Driven Bean on Weblogic 7.0.This MDB
>>>would listen on a particular queue of IBM MQ.
>>>
>>>I have written a Weblogic startUp class which registers the factory
>>>into Weblogic JNDI.Am I supposed to register the queue as well? I am
>>>confused about the queue part. In the deployement descriptor of the
>>>MDB (weblogic-ejb-jar.xml), we have the the <destination-jndi-name>
>>>tag which should be the Queue name (in my case the IBM MQ queue ). Am
>>>I supposed to register that in the Weblogic JNDI as well? I mean do I
>>>add the Queue part in my Weblogic start-up class as well? Else how
>>>will The Queue be obtained?
>>>
>>>I am sort of confused on this . I get the error :
>>>
>>><Apr 16, 2003 3:17:14 PM EDT> <Warning> <EJB> <010061> <The
>>>Message-Driven EJB: SimpleMDB is unable
>>>to connect to the JMS destination: ivtQ. The EJB container will
>>>automatically attempt to re-establis
>>>h 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:
>>>The JMS destination with the JNDI name: ivtQ could not be found.
>>>Please ensure that the JNDI name in
>>> the weblogic-ejb-jar.xml is correct, and the JMS destination has been
>>>deployed.>
>>>
>>>Please guide .I am trying to find out this information(which isn`t
>>>very difficult i think ) since quite a few days now but I have got no
>>>reply whatsoever.Please let me know if I am posting in the wrong group
>>>or should I place my query in some other group where I can get a
>>>better response.
>>>
>>>Thanks and regards,
>>>
>>>Milan Doshi
>>
-
Message-driven bean deployment error
Hi:
When attempting to deploy a message-driven bean to the server I get a the following error message:SEVERE: MDB00030: [MessageControllerJAR:MessageControllerEJB]: Exception in setting up message-drive
n bean container: [[C4003]: Error occurred on connection creation. - caught java.lang.NumberFormatEx
ception] However, bindings to the queues seem to be created successfully, as evidenced here:
INFO: CORE5076: Using Java HotSpot(TM) Server VM, Version 1.4.2_02 from Sun Microsystems Inc.
INFO: JTS5014: Recoverable JTS instance, serverId is 100
INFO: RAR5060: Install JDBC Datasources ...
INFO: JMS5015: Install JMS resources ...
INFO: JMS5002: Binding [< JMS Destination: jms/Sample, javax.jms.Queue, [ imqDestinationName=sample] >]
INFO: JMS5002: Binding [< JMS Connection Factory: jms/SampleQCF, javax.jms.QueueConnectionFactory [imqBrokerHostName=localhost , imqBrokerHostPort=7222 ] >]
INFO: LDR5010: All ejb(s) of [stateless-simple] loaded successfully!
INFO: WEB0100: Loading web module [stateless-simple:stateless-simple.war] in virtual server [server1
] at [helloworld]
INFO: HTTP3072: HTTP listener http-listener-1 [http://xxxxxx:99] ready to accept requests
startup: server started successfully
INFO: CORE3274: successful server startup
I'm using an external JMS provider and according to them the problem is not their server. If we look at the exception trace (javax.jms.JMSException) this is what gets displayed in the server's console:
SEVERE: MDB00030: [MessageControllerJAR:MessageControllerEJB]: Exception in setting up message-drive
n bean container: [[C4003]: Error occurred on connection creation. - caught java.lang.NumberFormatEx
ception]
SEVERE: MDB00017: [MessageControllerEJB]: Exception in creating message-driven bean container: [java
x.jms.JMSException: [C4003]: Error occurred on connection creation. - caught java.lang.NumberFormatE
xception]
SEVERE: javax.jms.JMSException
javax.jms.JMSException: [C4003]: Error occurred on connection creation. - caught java.lang.NumberFor
matException
at com.sun.messaging.jmq.jmsclient.ExceptionHandler.getJMSException(ExceptionHandler.java:183)
at com.sun.messaging.jmq.jmsclient.ExceptionHandler.handleException(ExceptionHandler.java:136)
at com.sun.messaging.jmq.jmsclient.PortMapperClient.readBrokerPorts(PortMapperClient.java:145)
at com.sun.messaging.jmq.jmsclient.PortMapperClient.init(PortMapperClient.java:86)
at com.sun.messaging.jmq.jmsclient.PortMapperClient.<init>(PortMapperClient.java:47)
at com.sun.messaging.jmq.jmsclient.protocol.tcp.TCPConnectionHandler.<init>(TCPConnectionHandler.java:46)
at com.sun.messaging.jmq.jmsclient.protocol.tcp.TCPStreamHandler.openConnection(TCPStreamHandler.java:101)
at com.sun.messaging.jmq.jmsclient.ProtocolHandler.init(ProtocolHandler.java:501)
at com.sun.messaging.jmq.jmsclient.ProtocolHandler.<init>(ProtocolHandler.java:930)
at com.sun.messaging.jmq.jmsclient.ConnectionImpl.openConnection(ConnectionImpl.java:1482)
at com.sun.messaging.jmq.jmsclient.ConnectionImpl.init(ConnectionImpl.java:403)
at com.sun.messaging.jmq.jmsclient.ConnectionImpl.<init>(ConnectionImpl.java:234)
at com.sun.messaging.jmq.jmsclient.UnifiedConnectionImpl.<init>(UnifiedConnectionImpl.java:33)
at com.sun.messaging.jmq.jmsclient.QueueConnectionImpl.<init>(QueueConnectionImpl.java:32)
at com.sun.messaging.jmq.jmsclient.XAQueueConnectionImpl.<init>(XAQueueConnectionImpl.java:33)
at com.sun.messaging.jmq.jmsclient.JMSXAQueueConnectionImpl.<init>(JMSXAQueueConnectionImpl.java:33)
at com.sun.messaging.jmq.jmsclient.JMSXAQueueConnectionFactoryImpl.createXAQueueConnection(JMSXAQueueConnectionFactoryImpl.java:75)
at com.sun.messaging.jmq.jmsclient.JMSXAQueueConnectionFactoryImpl.createXAQueueConnection(JMSXAQueueConnectionFactoryImpl.java:51)
at com.sun.enterprise.jms.ConnectionFactoryWrapper.createQueueConnection(ConnectionFactoryWrapper.java:118)
at com.sun.ejb.containers.MessageBeanHelperBase.setup(MessageBeanHelperBase.java:394)
at com.sun.ejb.containers.MessageBeanContainer.<init>(MessageBeanContainer.java:206)
at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:173)
at com.iplanet.ias.server.AbstractLoader.loadEjbs(AbstractLoader.java:345)
at com.iplanet.ias.server.EJBModuleLoader.load(EJBModuleLoader.java:79)
at com.iplanet.ias.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:194)
at com.iplanet.ias.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:166)
at com.iplanet.ias.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:297)
at com.iplanet.ias.admin.event.AdminEventMulticaster.invokeModuleDeployEventListener(AdminEventMulticaster.java:464)
at com.iplanet.ias.admin.event.AdminEventMulticaster.handleModuleDeployEvent(AdminEventMulticaster.java:451)
at com.iplanet.ias.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:294)
at com.iplanet.ias.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:99)
at com.iplanet.ias.admin.server.core.channel.AdminChannelServer.sendNotification(AdminChannelServer.java:84)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread
SEVERE: EJB5090: Exception in creating EJB container [javax.jms.JMSException: [C4003]: Error occurre
d on connection creation. - caught java.lang.NumberFormatException]
SEVERE: appId=MessageControllerJAR moduleName=MessageControllerJAR ejbName=MessageControllerEJB
SEVERE: LDR5004: UnExpected error occured while creating ejb container
javax.jms.JMSException: [C4003]: Error occurred on connection creation. - caught java.lang.NumberFor
matException
at com.sun.messaging.jmq.jmsclient.ExceptionHandler.getJMSException(ExceptionHandler.java:183)
at com.sun.messaging.jmq.jmsclient.ExceptionHandler.handleException(ExceptionHandler.java:136)
at com.sun.messaging.jmq.jmsclient.PortMapperClient.readBrokerPorts(PortMapperClient.java:145)
at com.sun.messaging.jmq.jmsclient.PortMapperClient.init(PortMapperClient.java:86)
at com.sun.messaging.jmq.jmsclient.PortMapperClient.<init>(PortMapperClient.java:47)
at com.sun.messaging.jmq.jmsclient.protocol.tcp.TCPConnectionHandler.<init>(TCPConnectionHandler.java:46)
at com.sun.messaging.jmq.jmsclient.protocol.tcp.TCPStreamHandler.openConnection(TCPStreamHandler.java:101)
at com.sun.messaging.jmq.jmsclient.ProtocolHandler.init(ProtocolHandler.java:501)
at com.sun.messaging.jmq.jmsclient.ProtocolHandler.<init>(ProtocolHandler.java:930)
at com.sun.messaging.jmq.jmsclient.ConnectionImpl.openConnection(ConnectionImpl.java:1482)
at com.sun.messaging.jmq.jmsclient.ConnectionImpl.init(ConnectionImpl.java:403)
at com.sun.messaging.jmq.jmsclient.ConnectionImpl.<init>(ConnectionImpl.java:234)
at com.sun.messaging.jmq.jmsclient.UnifiedConnectionImpl.<init>(UnifiedConnectionImpl.java:33)
at com.sun.messaging.jmq.jmsclient.QueueConnectionImpl.<init>(QueueConnectionImpl.java:32)
at com.sun.messaging.jmq.jmsclient.XAQueueConnectionImpl.<init>(XAQueueConnectionImpl.java:33)
at com.sun.messaging.jmq.jmsclient.JMSXAQueueConnectionImpl.<init>(JMSXAQueueConnectionImpl.java:33)
at com.sun.messaging.jmq.jmsclient.JMSXAQueueConnectionFactoryImpl.createXAQueueConnection(JMSXAQueueConnectionFactoryImpl.java:75)
at com.sun.messaging.jmq.jmsclient.JMSXAQueueConnectionFactoryImpl.createXAQueueConnection(JMSXAQueueConnectionFactoryImpl.java:51)
at com.sun.enterprise.jms.ConnectionFactoryWrapper.createQueueConnection(ConnectionFactoryWrapper.java:118)
at com.sun.ejb.containers.MessageBeanHelperBase.setup(MessageBeanHelperBase.java:394)
at com.sun.ejb.containers.MessageBeanContainer.<init>(MessageBeanContainer.java:206)
at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:173)
at com.iplanet.ias.server.AbstractLoader.loadEjbs(AbstractLoader.java:345)
at com.iplanet.ias.server.EJBModuleLoader.load(EJBModuleLoader.java:79)
at com.iplanet.ias.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:194)
at com.iplanet.ias.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:166)
at com.iplanet.ias.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:297)
at com.iplanet.ias.admin.event.AdminEventMulticaster.invokeModuleDeployEventListener(AdminEventMulticaster.java:464)
at com.iplanet.ias.admin.event.AdminEventMulticaster.handleModuleDeployEvent(AdminEventMulticaster.java:451)
at com.iplanet.ias.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:294)
at com.iplanet.ias.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:99)
at com.iplanet.ias.admin.server.core.channel.AdminChannelServer.sendNotification(AdminChannelServer.java:84)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.ja
WARNING: CORE5020: Error while loading ejb module
WARNING: ADM5603:Event listener error [Error while loading EJB module [MessageControllerJAR]. Please refer to the server log for more details. Any suggestions will be appreciated. Thanks. SCHi:
When attempting to deploy a message-driven bean to the server I get a the following error message:SEVERE: MDB00030: [MessageControllerJAR:MessageControllerEJB]: Exception in setting up message-drive
n bean container: [[C4003]: Error occurred on connection creation. - caught java.lang.NumberFormatEx
ception] However, bindings to the queues seem to be created successfully, as evidenced here:
INFO: CORE5076: Using Java HotSpot(TM) Server VM, Version 1.4.2_02 from Sun Microsystems Inc.
INFO: JTS5014: Recoverable JTS instance, serverId is 100
INFO: RAR5060: Install JDBC Datasources ...
INFO: JMS5015: Install JMS resources ...
INFO: JMS5002: Binding [< JMS Destination: jms/Sample, javax.jms.Queue, [ imqDestinationName=sample] >]
INFO: JMS5002: Binding [< JMS Connection Factory: jms/SampleQCF, javax.jms.QueueConnectionFactory [imqBrokerHostName=localhost , imqBrokerHostPort=7222 ] >]
INFO: LDR5010: All ejb(s) of [stateless-simple] loaded successfully!
INFO: WEB0100: Loading web module [stateless-simple:stateless-simple.war] in virtual server [server1
] at [helloworld]
INFO: HTTP3072: HTTP listener http-listener-1 [http://xxxxxx:99] ready to accept requests
startup: server started successfully
INFO: CORE3274: successful server startup
I'm using an external JMS provider and according to them the problem is not their server. If we look at the exception trace (javax.jms.JMSException) this is what gets displayed in the server's console:
SEVERE: MDB00030: [MessageControllerJAR:MessageControllerEJB]: Exception in setting up message-drive
n bean container: [[C4003]: Error occurred on connection creation. - caught java.lang.NumberFormatEx
ception]
SEVERE: MDB00017: [MessageControllerEJB]: Exception in creating message-driven bean container: [java
x.jms.JMSException: [C4003]: Error occurred on connection creation. - caught java.lang.NumberFormatE
xception]
SEVERE: javax.jms.JMSException
javax.jms.JMSException: [C4003]: Error occurred on connection creation. - caught java.lang.NumberFor
matException
at com.sun.messaging.jmq.jmsclient.ExceptionHandler.getJMSException(ExceptionHandler.java:183)
at com.sun.messaging.jmq.jmsclient.ExceptionHandler.handleException(ExceptionHandler.java:136)
at com.sun.messaging.jmq.jmsclient.PortMapperClient.readBrokerPorts(PortMapperClient.java:145)
at com.sun.messaging.jmq.jmsclient.PortMapperClient.init(PortMapperClient.java:86)
at com.sun.messaging.jmq.jmsclient.PortMapperClient.<init>(PortMapperClient.java:47)
at com.sun.messaging.jmq.jmsclient.protocol.tcp.TCPConnectionHandler.<init>(TCPConnectionHandler.java:46)
at com.sun.messaging.jmq.jmsclient.protocol.tcp.TCPStreamHandler.openConnection(TCPStreamHandler.java:101)
at com.sun.messaging.jmq.jmsclient.ProtocolHandler.init(ProtocolHandler.java:501)
at com.sun.messaging.jmq.jmsclient.ProtocolHandler.<init>(ProtocolHandler.java:930)
at com.sun.messaging.jmq.jmsclient.ConnectionImpl.openConnection(ConnectionImpl.java:1482)
at com.sun.messaging.jmq.jmsclient.ConnectionImpl.init(ConnectionImpl.java:403)
at com.sun.messaging.jmq.jmsclient.ConnectionImpl.<init>(ConnectionImpl.java:234)
at com.sun.messaging.jmq.jmsclient.UnifiedConnectionImpl.<init>(UnifiedConnectionImpl.java:33)
at com.sun.messaging.jmq.jmsclient.QueueConnectionImpl.<init>(QueueConnectionImpl.java:32)
at com.sun.messaging.jmq.jmsclient.XAQueueConnectionImpl.<init>(XAQueueConnectionImpl.java:33)
at com.sun.messaging.jmq.jmsclient.JMSXAQueueConnectionImpl.<init>(JMSXAQueueConnectionImpl.java:33)
at com.sun.messaging.jmq.jmsclient.JMSXAQueueConnectionFactoryImpl.createXAQueueConnection(JMSXAQueueConnectionFactoryImpl.java:75)
at com.sun.messaging.jmq.jmsclient.JMSXAQueueConnectionFactoryImpl.createXAQueueConnection(JMSXAQueueConnectionFactoryImpl.java:51)
at com.sun.enterprise.jms.ConnectionFactoryWrapper.createQueueConnection(ConnectionFactoryWrapper.java:118)
at com.sun.ejb.containers.MessageBeanHelperBase.setup(MessageBeanHelperBase.java:394)
at com.sun.ejb.containers.MessageBeanContainer.<init>(MessageBeanContainer.java:206)
at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:173)
at com.iplanet.ias.server.AbstractLoader.loadEjbs(AbstractLoader.java:345)
at com.iplanet.ias.server.EJBModuleLoader.load(EJBModuleLoader.java:79)
at com.iplanet.ias.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:194)
at com.iplanet.ias.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:166)
at com.iplanet.ias.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:297)
at com.iplanet.ias.admin.event.AdminEventMulticaster.invokeModuleDeployEventListener(AdminEventMulticaster.java:464)
at com.iplanet.ias.admin.event.AdminEventMulticaster.handleModuleDeployEvent(AdminEventMulticaster.java:451)
at com.iplanet.ias.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:294)
at com.iplanet.ias.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:99)
at com.iplanet.ias.admin.server.core.channel.AdminChannelServer.sendNotification(AdminChannelServer.java:84)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread
SEVERE: EJB5090: Exception in creating EJB container [javax.jms.JMSException: [C4003]: Error occurre
d on connection creation. - caught java.lang.NumberFormatException]
SEVERE: appId=MessageControllerJAR moduleName=MessageControllerJAR ejbName=MessageControllerEJB
SEVERE: LDR5004: UnExpected error occured while creating ejb container
javax.jms.JMSException: [C4003]: Error occurred on connection creation. - caught java.lang.NumberFor
matException
at com.sun.messaging.jmq.jmsclient.ExceptionHandler.getJMSException(ExceptionHandler.java:183)
at com.sun.messaging.jmq.jmsclient.ExceptionHandler.handleException(ExceptionHandler.java:136)
at com.sun.messaging.jmq.jmsclient.PortMapperClient.readBrokerPorts(PortMapperClient.java:145)
at com.sun.messaging.jmq.jmsclient.PortMapperClient.init(PortMapperClient.java:86)
at com.sun.messaging.jmq.jmsclient.PortMapperClient.<init>(PortMapperClient.java:47)
at com.sun.messaging.jmq.jmsclient.protocol.tcp.TCPConnectionHandler.<init>(TCPConnectionHandler.java:46)
at com.sun.messaging.jmq.jmsclient.protocol.tcp.TCPStreamHandler.openConnection(TCPStreamHandler.java:101)
at com.sun.messaging.jmq.jmsclient.ProtocolHandler.init(ProtocolHandler.java:501)
at com.sun.messaging.jmq.jmsclient.ProtocolHandler.<init>(ProtocolHandler.java:930)
at com.sun.messaging.jmq.jmsclient.ConnectionImpl.openConnection(ConnectionImpl.java:1482)
at com.sun.messaging.jmq.jmsclient.ConnectionImpl.init(ConnectionImpl.java:403)
at com.sun.messaging.jmq.jmsclient.ConnectionImpl.<init>(ConnectionImpl.java:234)
at com.sun.messaging.jmq.jmsclient.UnifiedConnectionImpl.<init>(UnifiedConnectionImpl.java:33)
at com.sun.messaging.jmq.jmsclient.QueueConnectionImpl.<init>(QueueConnectionImpl.java:32)
at com.sun.messaging.jmq.jmsclient.XAQueueConnectionImpl.<init>(XAQueueConnectionImpl.java:33)
at com.sun.messaging.jmq.jmsclient.JMSXAQueueConnectionImpl.<init>(JMSXAQueueConnectionImpl.java:33)
at com.sun.messaging.jmq.jmsclient.JMSXAQueueConnectionFactoryImpl.createXAQueueConnection(JMSXAQueueConnectionFactoryImpl.java:75)
at com.sun.messaging.jmq.jmsclient.JMSXAQueueConnectionFactoryImpl.createXAQueueConnection(JMSXAQueueConnectionFactoryImpl.java:51)
at com.sun.enterprise.jms.ConnectionFactoryWrapper.createQueueConnection(ConnectionFactoryWrapper.java:118)
at com.sun.ejb.containers.MessageBeanHelperBase.setup(MessageBeanHelperBase.java:394)
at com.sun.ejb.containers.MessageBeanContainer.<init>(MessageBeanContainer.java:206)
at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:173)
at com.iplanet.ias.server.AbstractLoader.loadEjbs(AbstractLoader.java:345)
at com.iplanet.ias.server.EJBModuleLoader.load(EJBModuleLoader.java:79)
at com.iplanet.ias.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:194)
at com.iplanet.ias.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:166)
at com.iplanet.ias.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:297)
at com.iplanet.ias.admin.event.AdminEventMulticaster.invokeModuleDeployEventListener(AdminEventMulticaster.java:464)
at com.iplanet.ias.admin.event.AdminEventMulticaster.handleModuleDeployEvent(AdminEventMulticaster.java:451)
at com.iplanet.ias.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:294)
at com.iplanet.ias.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:99)
at com.iplanet.ias.admin.server.core.channel.AdminChannelServer.sendNotification(AdminChannelServer.java:84)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.ja
WARNING: CORE5020: Error while loading ejb module
WARNING: ADM5603:Event listener error [Error while loading EJB module [MessageControllerJAR]. Please refer to the server log for more details. Any suggestions will be appreciated. Thanks. SC -
Message Driven Bean Deployment for a JCA based inbound Connector in SAILFIN
This post is partly related to my previous post regarding message driven bean deployment issue in SAILFIN b12 application server. I have made another post to put my question to a more specific title with some additions. I am developing a JCA based resource adapter (i.e. connector). The inbound module of the connector listens on a specific port for incoming messages from a server (EIS). The port property and the endpoint interface (custom made message driven bean interface, that is InboundListener) has been specified in the connector's deployment descriptor. When a message reaches, the connector delivers it to the a message driven bean whose code is indicated in the following:
package com....;
import com....ra.facade.InboundListener;
import javax.ejb.ActivationConfigProperty;
import javax.ejb.MessageDriven;
import javax.jms.Message;
import javax.jms.MessageListener;
import java.util.logging.*;
* Entity class InboundMessageReceiverMDB
* @author efikayd
@MessageDriven(
mappedName = "InboundMessageReceiverMDB",
messageListenerInterface = com......ra.facade.InboundListener.class,
activationConfig = {
@ActivationConfigProperty(
propertyName = "listenerPort", propertyValue = "12345"),
@ActivationConfigProperty(
propertyName="ConnectionFactoryJndiName", propertyValue="RAjms/MyQCF"),
@ActivationConfigProperty(
propertyName="DestinationName", propertyValue="MyQueue"),
@ActivationConfigProperty(
propertyName="DestinationType", propertyValue="javax.jms.Queue")
public class InboundMessageReceiverMDB implements InboundListener, MessageListener {
private static final Logger logger = Logger.getLogger("com.xyz.inbound.InboundMessageReceiverMDB");
/** Creates a new instance of InboundMessageReceiverMDB */
public InboundMessageReceiverMDB() {
public void onMessage(Message message) {
public void receiveMessage(String message) {
logger.log(Level.SEVERE, "CLASS: " + getClass().getName() + "METHOD: receiveMessage() ==> Message received...: " + message);
The listener interface is the following:
package com...ra.facade;
public interface InboundListener{
public void receiveMessage(String message);
I have set the JMS resource and the queue properties on the admin console of the SAILFIN instance that is locally installed on my Linux machine (Suse 9 - kernel number: 2.6.5-7.244) in the following manner:
ConnectionFactory:
JNDI Name: RAjms/MyQCF
Pool Name: RAjms/MyQCF
Type: javax.jms.ConnectionFactory
Status: enabled
Property1 ==> Name: DestinationType Value: javax.jms.Queue
Property2 ==> Name: DestinationName Value: MyQueue
Destination (i.e. queue):
JNDIName: MyQueue
Physical Destination Name: MyQueue
status: enabled
Property1 ==> Name: DestinationType Value:javax.jms.Queue
Property2 ==> Name: DestinationName Value:MyQueue
When I first written this message driven bean, it was not implementing the MessageListener interface. It was only implementing my own InboundListener interface. I did this because JCA specification says that the endpoint (i.e. message driven bean ) is not supposed to make use of JMS and its MessageListener interface. It says it can support custom message listener interface so to say. Then I got the exceptions that are same as the exceptions stated below. So, I made the bean implement the JMS MessageListener interface in addtion to my InboundListener interface assuming that exceptions result from not including the JMS MessageListener interface. Then I generated the necessary JMS resources with configuration settings stated above in the application server. However, I am still getting the same exceptions (see below) and nothing has changed. Do you think the above configuration for the JMS resource is fine and appropriate to the activation configuration specifications in my message driven bean code? Am I missing something on this configuration? Below, I have indicated the message that I got on the linux terminal when I attempt to deploy the message driven bean and the related server log. Thank you very much in advance for your help.
Kind regards,
faydemir
PS: The 'restart' command in the following linux terminal outcome basically makes a call to a bash script which deploys the message driven bean to the SAILFIN application server. The resource adapter instance is already deployed on the application server before attempting to deploy the message driven bean. I am sure that the resource adapter successfully receives the messages from the EIS but it cannot deliver them to the endpoint (i.e.the message driven bean) since the bean is unable to be deployed correctly. I am using Netbeans IDE 5.5.1
WHILE DEPLOYING:
ws2089 [11:29am] [home/efikayd/bin] -> ./restart
Command deploy executed successfully with following warning messages: Error occurred during application loading phase. The application will not run properly. Please fix your application and redeploy.
WARNING: com.sun.enterprise.deployment.backend.IASDeploymentException: Error while loading EJB module [InboundReceiverMDBModule]. Please refer to the server log for more details.
ws2089 [11:29am] [home/efikayd/bin] ->
SERVER LOG:
[#|2008-01-03T11:29:00.542+0100|INFO|sun-appserver9.1|javax.enterprise.system.core|_ThreadID=10;_ThreadName=main;|Application server startup complete.|#]
[#|2008-01-03T11:29:09.482+0100|INFO|sun-appserver9.1|javax.enterprise.system.tools.admin|_ThreadID=17;_ThreadName=httpWorkerThread-4848-1;/tmp/s1astempdomain1server-1825660455/InboundReceiverMDBModule.jar;|ADM1006:Uploading the file to:[/tmp/s1astempdomain1server-1825660455/InboundReceiverMDBModule.jar]|#]
[#|2008-01-03T11:29:12.399+0100|INFO|sun-appserver9.1|javax.enterprise.system.tools.deployment|_ThreadID=18;_ThreadName=Thread-32;|deployed with moduleid = InboundReceiverMDBModule|#]
[#|2008-01-03T11:29:12.739+0100|SEVERE|sun-appserver9.1|javax.enterprise.system.container.ejb.mdb|_ThreadID=17;_ThreadName=httpWorkerThread-4848-1;InboundMessageReceiverMDB;com.sun.enterprise.connectors.ConnectorRuntimeException: JMS resource not created : InboundMessageReceiverMDB;_RequestID=feb08bff-27af-402a-9fd5-b77b8bb5f046;|MDB00017: [InboundMessageReceiverMDB]: Exception in creating message-driven bean container: [com.sun.enterprise.connectors.ConnectorRuntimeException: JMS resource not created : InboundMessageReceiverMDB]|#]
[#|2008-01-03T11:29:12.739+0100|SEVERE|sun-appserver9.1|javax.enterprise.system.container.ejb.mdb|_ThreadID=17;_ThreadName=httpWorkerThread-4848-1;_RequestID=feb08bff-27af-402a-9fd5-b77b8bb5f046;|com.sun.enterprise.connectors.ConnectorRuntimeException
com.sun.enterprise.connectors.ConnectorRuntimeException: JMS resource not created : InboundMessageReceiverMDB
at com.sun.enterprise.connectors.system.ActiveJmsResourceAdapter.getPhysicalDestinationFromConfiguration(ActiveJmsResourceAdapter.java:1528)
at com.sun.enterprise.connectors.system.ActiveJmsResourceAdapter.updateMDBRuntimeInfo(ActiveJmsResourceAdapter.java:1379)
at com.sun.enterprise.connectors.inflow.ConnectorMessageBeanClient.setup(ConnectorMessageBeanClient.java:170)
at com.sun.ejb.containers.MessageBeanContainer.<init>(MessageBeanContainer.java:209)
at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:280)
at com.sun.enterprise.server.AbstractLoader.loadEjbs(AbstractLoader.java:537)
at com.sun.enterprise.server.EJBModuleLoader.doLoad(EJBModuleLoader.java:171)
at com.sun.enterprise.server.AbstractLoader.load(AbstractLoader.java:245)
at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:233)
at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:188)
at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:420)
at com.sun.enterprise.admin.event.AdminEventMulticaster.invokeModuleDeployEventListener(AdminEventMulticaster.java:1004)
at com.sun.enterprise.admin.event.AdminEventMulticaster.handleModuleDeployEvent(AdminEventMulticaster.java:991)
at com.sun.enterprise.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:470)
at com.sun.enterprise.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:182)
at com.sun.enterprise.admin.server.core.DeploymentNotificationHelper.multicastEvent(DeploymentNotificationHelper.java:308)
at com.sun.enterprise.deployment.phasing.DeploymentServiceUtils.multicastEvent(DeploymentServiceUtils.java:230)
at com.sun.enterprise.deployment.phasing.ServerDeploymentTarget.sendStartEvent(ServerDeploymentTarget.java:298)
at com.sun.enterprise.deployment.phasing.ApplicationStartPhase.runPhase(ApplicationStartPhase.java:132)
at com.sun.enterprise.deployment.phasing.DeploymentPhase.executePhase(DeploymentPhase.java:108)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.executePhases(PEDeploymentService.java:920)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.start(PEDeploymentService.java:591)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.start(PEDeploymentService.java:635)
at com.sun.enterprise.admin.mbeans.ApplicationsConfigMBean.start(ApplicationsConfigMBean.java:773)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:381)
at com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:364)
at com.sun.enterprise.admin.config.BaseConfigMBean.invoke(BaseConfigMBean.java:470)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.enterprise.admin.util.proxy.ProxyClass.invoke(ProxyClass.java:90)
at $Proxy1.invoke(Unknown Source)
at com.sun.enterprise.admin.server.core.jmx.SunoneInterceptor.invoke(SunoneInterceptor.java:304)
at com.sun.enterprise.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:174)
at com.sun.enterprise.admin.jmx.remote.server.callers.InvokeCaller.call(InvokeCaller.java:69)
at com.sun.enterprise.admin.jmx.remote.server.MBeanServerRequestHandler.handle(MBeanServerRequestHandler.java:155)
at com.sun.enterprise.admin.jmx.remote.server.servlet.RemoteJmxConnectorServlet.processRequest(RemoteJmxConnectorServlet.java:122)
at com.sun.enterprise.admin.jmx.remote.server.servlet.RemoteJmxConnectorServlet.doPost(RemoteJmxConnectorServlet.java:193)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:290)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:271)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:339)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:261)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:212)
at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
at com.sun.enterprise.web.connector.grizzly.WorkerThreadImpl.run(WorkerThreadImpl.java:116)
|#]
[#|2008-01-03T11:29:12.742+0100|SEVERE|sun-appserver9.1|javax.enterprise.system.container.ejb|_ThreadID=17;_ThreadName=httpWorkerThread-4848-1;com.sun.enterprise.connectors.ConnectorRuntimeException: JMS resource not created : InboundMessageReceiverMDB;_RequestID=feb08bff-27af-402a-9fd5-b77b8bb5f046;|EJB5090: Exception in creating EJB container [com.sun.enterprise.connectors.ConnectorRuntimeException: JMS resource not created : InboundMessageReceiverMDB]|#]
[#|2008-01-03T11:29:12.742+0100|SEVERE|sun-appserver9.1|javax.enterprise.system.container.ejb|_ThreadID=17;_ThreadName=httpWorkerThread-4848-1;_RequestID=feb08bff-27af-402a-9fd5-b77b8bb5f046;|appId=InboundReceiverMDBModule moduleName=_home_efikayd_SAILFINB12_sailfin_domains_domain1_applications_j2ee-modules_InboundReceiverMDBModule ejbName=InboundMessageReceiverMDB|#]
[#|2008-01-03T11:29:12.742+0100|SEVERE|sun-appserver9.1|javax.enterprise.system.core.classloading|_ThreadID=17;_ThreadName=httpWorkerThread-4848-1;_RequestID=feb08bff-27af-402a-9fd5-b77b8bb5f046;|LDR5004: UnExpected error occured while creating ejb container
com.sun.enterprise.connectors.ConnectorRuntimeException: JMS resource not created : InboundMessageReceiverMDB
at com.sun.enterprise.connectors.system.ActiveJmsResourceAdapter.getPhysicalDestinationFromConfiguration(ActiveJmsResourceAdapter.java:1528)
at com.sun.enterprise.connectors.system.ActiveJmsResourceAdapter.updateMDBRuntimeInfo(ActiveJmsResourceAdapter.java:1379)
at com.sun.enterprise.connectors.inflow.ConnectorMessageBeanClient.setup(ConnectorMessageBeanClient.java:170)
at com.sun.ejb.containers.MessageBeanContainer.<init>(MessageBeanContainer.java:209)
at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:280)
at com.sun.enterprise.server.AbstractLoader.loadEjbs(AbstractLoader.java:537)
at com.sun.enterprise.server.EJBModuleLoader.doLoad(EJBModuleLoader.java:171)
at com.sun.enterprise.server.AbstractLoader.load(AbstractLoader.java:245)
at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:233)
at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:188)
at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:420)
at com.sun.enterprise.admin.event.AdminEventMulticaster.invokeModuleDeployEventListener(AdminEventMulticaster.java:1004)
at com.sun.enterprise.admin.event.AdminEventMulticaster.handleModuleDeployEvent(AdminEventMulticaster.java:991)
at com.sun.enterprise.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:470)
at com.sun.enterprise.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:182)
at com.sun.enterprise.admin.server.core.DeploymentNotificationHelper.multicastEvent(DeploymentNotificationHelper.java:308)
at com.sun.enterprise.deployment.phasing.DeploymentServiceUtils.multicastEvent(DeploymentServiceUtils.java:230)
at com.sun.enterprise.deployment.phasing.ServerDeploymentTarget.sendStartEvent(ServerDeploymentTarget.java:298)
at com.sun.enterprise.deployment.phasing.ApplicationStartPhase.runPhase(ApplicationStartPhase.java:132)
at com.sun.enterprise.deployment.phasing.DeploymentPhase.executePhase(DeploymentPhase.java:108)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.executePhases(PEDeploymentService.java:920)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.start(PEDeploymentService.java:591)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.start(PEDeploymentService.java:635)
at com.sun.enterprise.admin.mbeans.ApplicationsConfigMBean.start(ApplicationsConfigMBean.java:773)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:381)
at com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:364)
at com.sun.enterprise.admin.config.BaseConfigMBean.invoke(BaseConfigMBean.java:470)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.enterprise.admin.util.proxy.ProxyClass.invoke(ProxyClass.java:90)
at $Proxy1.invoke(Unknown Source)
at com.sun.enterprise.admin.server.core.jmx.SunoneInterceptor.invoke(SunoneInterceptor.java:304)
at com.sun.enterprise.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:174)
at com.sun.enterprise.admin.jmx.remote.server.callers.InvokeCaller.call(InvokeCaller.java:69)
at com.sun.enterprise.admin.jmx.remote.server.MBeanServerRequestHandler.handle(MBeanServerRequestHandler.java:155)
at com.sun.enterprise.admin.jmx.remote.server.servlet.RemoteJmxConnectorServlet.processRequest(RemoteJmxConnectorServlet.java:122)
at com.sun.enterprise.admin.jmx.remote.server.servlet.RemoteJmxConnectorServlet.doPost(RemoteJmxConnectorServlet.java:193)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:290)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:271)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:339)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:261)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:212)
at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
at com.sun.enterprise.web.connector.grizzly.WorkerThreadImpl.run(WorkerThreadImpl.java:116)
|#]
[#|2008-01-03T11:29:12.745+0100|WARNING|sun-appserver9.1|javax.enterprise.system.core|_ThreadID=17;_ThreadName=httpWorkerThread-4848-1;_RequestID=feb08bff-27af-402a-9fd5-b77b8bb5f046;|CORE5020: Error while loading ejb module|#]
[#|2008-01-03T11:29:12.747+0100|WARNING|sun-appserver9.1|javax.enterprise.system.tools.admin|_ThreadID=17;_ThreadName=httpWorkerThread-4848-1;Error while loading EJB module [InboundReceiverMDBModule]. Please refer to the server log for more details. ;_RequestID=feb08bff-27af-402a-9fd5-b77b8bb5f046;|ADM1075:Error on listening event:[Error while loading EJB module [InboundReceiverMDBModule]. Please refer to the server log for more details. ]|#]This post is partly related to my previous post regarding message driven bean deployment issue in SAILFIN b12 application server. I have made another post to put my question to a more specific title with some additions. I am developing a JCA based resource adapter (i.e. connector). The inbound module of the connector listens on a specific port for incoming messages from a server (EIS). The port property and the endpoint interface (custom made message driven bean interface, that is InboundListener) has been specified in the connector's deployment descriptor. When a message reaches, the connector delivers it to the a message driven bean whose code is indicated in the following:
package com....;
import com....ra.facade.InboundListener;
import javax.ejb.ActivationConfigProperty;
import javax.ejb.MessageDriven;
import javax.jms.Message;
import javax.jms.MessageListener;
import java.util.logging.*;
* Entity class InboundMessageReceiverMDB
* @author efikayd
@MessageDriven(
mappedName = "InboundMessageReceiverMDB",
messageListenerInterface = com......ra.facade.InboundListener.class,
activationConfig = {
@ActivationConfigProperty(
propertyName = "listenerPort", propertyValue = "12345"),
@ActivationConfigProperty(
propertyName="ConnectionFactoryJndiName", propertyValue="RAjms/MyQCF"),
@ActivationConfigProperty(
propertyName="DestinationName", propertyValue="MyQueue"),
@ActivationConfigProperty(
propertyName="DestinationType", propertyValue="javax.jms.Queue")
public class InboundMessageReceiverMDB implements InboundListener, MessageListener {
private static final Logger logger = Logger.getLogger("com.xyz.inbound.InboundMessageReceiverMDB");
/** Creates a new instance of InboundMessageReceiverMDB */
public InboundMessageReceiverMDB() {
public void onMessage(Message message) {
public void receiveMessage(String message) {
logger.log(Level.SEVERE, "CLASS: " + getClass().getName() + "METHOD: receiveMessage() ==> Message received...: " + message);
The listener interface is the following:
package com...ra.facade;
public interface InboundListener{
public void receiveMessage(String message);
I have set the JMS resource and the queue properties on the admin console of the SAILFIN instance that is locally installed on my Linux machine (Suse 9 - kernel number: 2.6.5-7.244) in the following manner:
ConnectionFactory:
JNDI Name: RAjms/MyQCF
Pool Name: RAjms/MyQCF
Type: javax.jms.ConnectionFactory
Status: enabled
Property1 ==> Name: DestinationType Value: javax.jms.Queue
Property2 ==> Name: DestinationName Value: MyQueue
Destination (i.e. queue):
JNDIName: MyQueue
Physical Destination Name: MyQueue
status: enabled
Property1 ==> Name: DestinationType Value:javax.jms.Queue
Property2 ==> Name: DestinationName Value:MyQueue
When I first written this message driven bean, it was not implementing the MessageListener interface. It was only implementing my own InboundListener interface. I did this because JCA specification says that the endpoint (i.e. message driven bean ) is not supposed to make use of JMS and its MessageListener interface. It says it can support custom message listener interface so to say. Then I got the exceptions that are same as the exceptions stated below. So, I made the bean implement the JMS MessageListener interface in addtion to my InboundListener interface assuming that exceptions result from not including the JMS MessageListener interface. Then I generated the necessary JMS resources with configuration settings stated above in the application server. However, I am still getting the same exceptions (see below) and nothing has changed. Do you think the above configuration for the JMS resource is fine and appropriate to the activation configuration specifications in my message driven bean code? Am I missing something on this configuration? Below, I have indicated the message that I got on the linux terminal when I attempt to deploy the message driven bean and the related server log. Thank you very much in advance for your help.
Kind regards,
faydemir
PS: The 'restart' command in the following linux terminal outcome basically makes a call to a bash script which deploys the message driven bean to the SAILFIN application server. The resource adapter instance is already deployed on the application server before attempting to deploy the message driven bean. I am sure that the resource adapter successfully receives the messages from the EIS but it cannot deliver them to the endpoint (i.e.the message driven bean) since the bean is unable to be deployed correctly. I am using Netbeans IDE 5.5.1
WHILE DEPLOYING:
ws2089 [11:29am] [home/efikayd/bin] -> ./restart
Command deploy executed successfully with following warning messages: Error occurred during application loading phase. The application will not run properly. Please fix your application and redeploy.
WARNING: com.sun.enterprise.deployment.backend.IASDeploymentException: Error while loading EJB module [InboundReceiverMDBModule]. Please refer to the server log for more details.
ws2089 [11:29am] [home/efikayd/bin] ->
SERVER LOG:
[#|2008-01-03T11:29:00.542+0100|INFO|sun-appserver9.1|javax.enterprise.system.core|_ThreadID=10;_ThreadName=main;|Application server startup complete.|#]
[#|2008-01-03T11:29:09.482+0100|INFO|sun-appserver9.1|javax.enterprise.system.tools.admin|_ThreadID=17;_ThreadName=httpWorkerThread-4848-1;/tmp/s1astempdomain1server-1825660455/InboundReceiverMDBModule.jar;|ADM1006:Uploading the file to:[/tmp/s1astempdomain1server-1825660455/InboundReceiverMDBModule.jar]|#]
[#|2008-01-03T11:29:12.399+0100|INFO|sun-appserver9.1|javax.enterprise.system.tools.deployment|_ThreadID=18;_ThreadName=Thread-32;|deployed with moduleid = InboundReceiverMDBModule|#]
[#|2008-01-03T11:29:12.739+0100|SEVERE|sun-appserver9.1|javax.enterprise.system.container.ejb.mdb|_ThreadID=17;_ThreadName=httpWorkerThread-4848-1;InboundMessageReceiverMDB;com.sun.enterprise.connectors.ConnectorRuntimeException: JMS resource not created : InboundMessageReceiverMDB;_RequestID=feb08bff-27af-402a-9fd5-b77b8bb5f046;|MDB00017: [InboundMessageReceiverMDB]: Exception in creating message-driven bean container: [com.sun.enterprise.connectors.ConnectorRuntimeException: JMS resource not created : InboundMessageReceiverMDB]|#]
[#|2008-01-03T11:29:12.739+0100|SEVERE|sun-appserver9.1|javax.enterprise.system.container.ejb.mdb|_ThreadID=17;_ThreadName=httpWorkerThread-4848-1;_RequestID=feb08bff-27af-402a-9fd5-b77b8bb5f046;|com.sun.enterprise.connectors.ConnectorRuntimeException
com.sun.enterprise.connectors.ConnectorRuntimeException: JMS resource not created : InboundMessageReceiverMDB
at com.sun.enterprise.connectors.system.ActiveJmsResourceAdapter.getPhysicalDestinationFromConfiguration(ActiveJmsResourceAdapter.java:1528)
at com.sun.enterprise.connectors.system.ActiveJmsResourceAdapter.updateMDBRuntimeInfo(ActiveJmsResourceAdapter.java:1379)
at com.sun.enterprise.connectors.inflow.ConnectorMessageBeanClient.setup(ConnectorMessageBeanClient.java:170)
at com.sun.ejb.containers.MessageBeanContainer.<init>(MessageBeanContainer.java:209)
at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:280)
at com.sun.enterprise.server.AbstractLoader.loadEjbs(AbstractLoader.java:537)
at com.sun.enterprise.server.EJBModuleLoader.doLoad(EJBModuleLoader.java:171)
at com.sun.enterprise.server.AbstractLoader.load(AbstractLoader.java:245)
at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:233)
at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:188)
at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:420)
at com.sun.enterprise.admin.event.AdminEventMulticaster.invokeModuleDeployEventListener(AdminEventMulticaster.java:1004)
at com.sun.enterprise.admin.event.AdminEventMulticaster.handleModuleDeployEvent(AdminEventMulticaster.java:991)
at com.sun.enterprise.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:470)
at com.sun.enterprise.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:182)
at com.sun.enterprise.admin.server.core.DeploymentNotificationHelper.multicastEvent(DeploymentNotificationHelper.java:308)
at com.sun.enterprise.deployment.phasing.DeploymentServiceUtils.multicastEvent(DeploymentServiceUtils.java:230)
at com.sun.enterprise.deployment.phasing.ServerDeploymentTarget.sendStartEvent(ServerDeploymentTarget.java:298)
at com.sun.enterprise.deployment.phasing.ApplicationStartPhase.runPhase(ApplicationStartPhase.java:132)
at com.sun.enterprise.deployment.phasing.DeploymentPhase.executePhase(DeploymentPhase.java:108)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.executePhases(PEDeploymentService.java:920)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.start(PEDeploymentService.java:591)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.start(PEDeploymentService.java:635)
at com.sun.enterprise.admin.mbeans.ApplicationsConfigMBean.start(ApplicationsConfigMBean.java:773)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:381)
at com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:364)
at com.sun.enterprise.admin.config.BaseConfigMBean.invoke(BaseConfigMBean.java:470)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.enterprise.admin.util.proxy.ProxyClass.invoke(ProxyClass.java:90)
at $Proxy1.invoke(Unknown Source)
at com.sun.enterprise.admin.server.core.jmx.SunoneInterceptor.invoke(SunoneInterceptor.java:304)
at com.sun.enterprise.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:174)
at com.sun.enterprise.admin.jmx.remote.server.callers.InvokeCaller.call(InvokeCaller.java:69)
at com.sun.enterprise.admin.jmx.remote.server.MBeanServerRequestHandler.handle(MBeanServerRequestHandler.java:155)
at com.sun.enterprise.admin.jmx.remote.server.servlet.RemoteJmxConnectorServlet.processRequest(RemoteJmxConnectorServlet.java:122)
at com.sun.enterprise.admin.jmx.remote.server.servlet.RemoteJmxConnectorServlet.doPost(RemoteJmxConnectorServlet.java:193)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:290)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:271)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:339)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:261)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:212)
at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
at com.sun.enterprise.web.connector.grizzly.WorkerThreadImpl.run(WorkerThreadImpl.java:116)
|#]
[#|2008-01-03T11:29:12.742+0100|SEVERE|sun-appserver9.1|javax.enterprise.system.container.ejb|_ThreadID=17;_ThreadName=httpWorkerThread-4848-1;com.sun.enterprise.connectors.ConnectorRuntimeException: JMS resource not created : InboundMessageReceiverMDB;_RequestID=feb08bff-27af-402a-9fd5-b77b8bb5f046;|EJB5090: Exception in creating EJB container [com.sun.enterprise.connectors.ConnectorRuntimeException: JMS resource not created : InboundMessageReceiverMDB]|#]
[#|2008-01-03T11:29:12.742+0100|SEVERE|sun-appserver9.1|javax.enterprise.system.container.ejb|_ThreadID=17;_ThreadName=httpWorkerThread-4848-1;_RequestID=feb08bff-27af-402a-9fd5-b77b8bb5f046;|appId=InboundReceiverMDBModule moduleName=_home_efikayd_SAILFINB12_sailfin_domains_domain1_applications_j2ee-modules_InboundReceiverMDBModule ejbName=InboundMessageReceiverMDB|#]
[#|2008-01-03T11:29:12.742+0100|SEVERE|sun-appserver9.1|javax.enterprise.system.core.classloading|_ThreadID=17;_ThreadName=httpWorkerThread-4848-1;_RequestID=feb08bff-27af-402a-9fd5-b77b8bb5f046;|LDR5004: UnExpected error occured while creating ejb container
com.sun.enterprise.connectors.ConnectorRuntimeException: JMS resource not created : InboundMessageReceiverMDB
at com.sun.enterprise.connectors.system.ActiveJmsResourceAdapter.getPhysicalDestinationFromConfiguration(ActiveJmsResourceAdapter.java:1528)
at com.sun.enterprise.connectors.system.ActiveJmsResourceAdapter.updateMDBRuntimeInfo(ActiveJmsResourceAdapter.java:1379)
at com.sun.enterprise.connectors.inflow.ConnectorMessageBeanClient.setup(ConnectorMessageBeanClient.java:170)
at com.sun.ejb.containers.MessageBeanContainer.<init>(MessageBeanContainer.java:209)
at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:280)
at com.sun.enterprise.server.AbstractLoader.loadEjbs(AbstractLoader.java:537)
at com.sun.enterprise.server.EJBModuleLoader.doLoad(EJBModuleLoader.java:171)
at com.sun.enterprise.server.AbstractLoader.load(AbstractLoader.java:245)
at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:233)
at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:188)
at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:420)
at com.sun.enterprise.admin.event.AdminEventMulticaster.invokeModuleDeployEventListener(AdminEventMulticaster.java:1004)
at com.sun.enterprise.admin.event.AdminEventMulticaster.handleModuleDeployEvent(AdminEventMulticaster.java:991)
at com.sun.enterprise.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:470)
at com.sun.enterprise.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:182)
at com.sun.enterprise.admin.server.core.DeploymentNotificationHelper.multicastEvent(DeploymentNotificationHelper.java:308)
at com.sun.enterprise.deployment.phasing.DeploymentServiceUtils.multicastEvent(DeploymentServiceUtils.java:230)
at com.sun.enterprise.deployment.phasing.ServerDeploymentTarget.sendStartEvent(ServerDeploymentTarget.java:298)
at com.sun.enterprise.deployment.phasing.ApplicationStartPhase.runPhase(ApplicationStartPhase.java:132)
at com.sun.enterprise.deployment.phasing.DeploymentPhase.executePhase(DeploymentPhase.java:108)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.executePhases(PEDeploymentService.java:920)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.start(PEDeploymentService.java:591)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.start(PEDeploymentService.java:635)
at com.sun.enterprise.admin.mbeans.ApplicationsConfigMBean.start(ApplicationsConfigMBean.java:773)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:381)
at com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:364)
at com.sun.enterprise.admin.config.BaseConfigMBean.invoke(BaseConfigMBean.java:470)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.enterprise.admin.util.proxy.ProxyClass.invoke(ProxyClass.java:90)
at $Proxy1.invoke(Unknown Source)
at com.sun.enterprise.admin.server.core.jmx.SunoneInterceptor.invoke(SunoneInterceptor.java:304)
at com.sun.enterprise.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:174)
at com.sun.enterprise.admin.jmx.remote.server.callers.InvokeCaller.call(InvokeCaller.java:69)
at com.sun.enterprise.admin.jmx.remote.server.MBeanServerRequestHandler.handle(MBeanServerRequestHandler.java:155)
at com.sun.enterprise.admin.jmx.remote.server.servlet.RemoteJmxConnectorServlet.processRequest(RemoteJmxConnectorServlet.java:122)
at com.sun.enterprise.admin.jmx.remote.server.servlet.RemoteJmxConnectorServlet.doPost(RemoteJmxConnectorServlet.java:193)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:290)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:271)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:339)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:261)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:212)
at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
at com.sun.enterprise.web.connector.grizzly.WorkerThreadImpl.run(WorkerThreadImpl.java:116)
|#]
[#|2008-01-03T11:29:12.745+0100|WARNING|sun-appserver9.1|javax.enterprise.system.core|_ThreadID=17;_ThreadName=httpWorkerThread-4848-1;_RequestID=feb08bff-27af-402a-9fd5-b77b8bb5f046;|CORE5020: Error while loading ejb module|#]
[#|2008-01-03T11:29:12.747+0100|WARNING|sun-appserver9.1|javax.enterprise.system.tools.admin|_ThreadID=17;_ThreadName=httpWorkerThread-4848-1;Error while loading EJB module [InboundReceiverMDBModule]. Please refer to the server log for more details. ;_RequestID=feb08bff-27af-402a-9fd5-b77b8bb5f046;|ADM1075:Error on listening event:[Error while loading EJB module [InboundReceiverMDBModule]. Please refer to the server log for more details. ]|#] -
Message Driven Bean deployment problem in SAILFIN b12
Hi,
I am a fresh learner in EJB technology and have been experiencing a deployment problem while attempting to deploy a very simple message driven bean, that does nothing basically, to a SAILFIN (b12) application server instance. I am using NetBeans 5.5.1 to form the message driven bean but I deploy the bean manually on a Linux terminal. The following is the code of the bean:
package trial.mdb;
import javax.annotation.Resource;
import javax.ejb.ActivationConfigProperty;
import javax.ejb.MessageDriven;
import javax.jms.Message;
import javax.jms.MessageListener;
@MessageDriven(mappedName = "jms/MDB1", activationConfig = {
@ActivationConfigProperty(propertyName = "acknowledgeMode", propertyValue = "Auto-acknowledge"),
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue")
public class MDB1 implements MessageListener {
/** Creates a new instance of MDB1 */
public MDB1() {
public void onMessage(Message message) {
I got the following message after deployment attempt:
"Command deploy executed successfully with following warning messages: Error occurred during application loading phase. The application will not run properly. Please fix your application and redeploy.
WARNING: com.sun.enterprise.deployment.backend.IASDeploymentException: Error while loading EJB module [TrialMDB]. Please refer to the server log for more details."
The verifier does not give any error, warning or failure message and it states "com.sun.enterprise.connectors.ConnectorRuntimeException: JMS resource not created : jms/MDB1;" in the server log. Below, I have stated the content of the server log. I am novice in EJB technology particularly in message driven beans so any help will be appreciated. Thanks a lot in advance.
--faydemir
The content of the server log:
[#|2008-01-02T16:25:11.106+0100|INFO|sun-appserver9.1|javax.enterprise.system.tools.avk.tools.verifier|_ThreadID=23;_ThreadName=Thread-41;|Verifying: [ _home_efikayd_SAILFINB12_sailfin_domains_domain1_applications_j2ee-modules_TrialMDB ]|#]
[#|2008-01-02T16:25:11.286+0100|SEVERE|sun-appserver9.1|javax.enterprise.system.tools.avk.tools.verifier|_ThreadID=23;_ThreadName=Thread-41;_RequestID=c8eac819-597f-454b-b189-1ad5a88770ac;|
STATIC VERIFICATION RESULTS
NUMBER OF FAILURES/WARNINGS/ERRORS
# of Failures : 0
# of Warnings : 0
# of Errors : 0
END OF STATIC VERIFICATION RESULTS
|#]
[#|2008-01-02T16:25:11.286+0100|INFO|sun-appserver9.1|javax.enterprise.system.tools.avk.tools.verifier|_ThreadID=23;_ThreadName=Thread-41;|No errors found in the archive.|#]
[#|2008-01-02T16:25:11.367+0100|INFO|sun-appserver9.1|javax.enterprise.system.tools.deployment|_ThreadID=23;_ThreadName=Thread-41;|deployed with moduleid = TrialMDB|#]
[#|2008-01-02T16:25:11.441+0100|SEVERE|sun-appserver9.1|javax.enterprise.system.container.ejb.mdb|_ThreadID=24;_ThreadName=Thread-40;MDB1;com.sun.enterprise.connectors.ConnectorRuntimeException: JMS resource not created : jms/MDB1;_RequestID=59330d0c-6ffd-48d6-9c99-a25e98b13700;|MDB00017: [MDB1]: Exception in creating message-driven bean container: [com.sun.enterprise.connectors.ConnectorRuntimeException: JMS resource not created : jms/MDB1]|#]
[#|2008-01-02T16:25:11.441+0100|SEVERE|sun-appserver9.1|javax.enterprise.system.container.ejb.mdb|_ThreadID=24;_ThreadName=Thread-40;_RequestID=59330d0c-6ffd-48d6-9c99-a25e98b13700;|com.sun.enterprise.connectors.ConnectorRuntimeException
com.sun.enterprise.connectors.ConnectorRuntimeException: JMS resource not created : jms/MDB1
at com.sun.enterprise.connectors.system.ActiveJmsResourceAdapter.getPhysicalDestinationFromConfiguration(ActiveJmsResourceAdapter.java:1528)
at com.sun.enterprise.connectors.system.ActiveJmsResourceAdapter.updateMDBRuntimeInfo(ActiveJmsResourceAdapter.java:1379)
at com.sun.enterprise.connectors.inflow.ConnectorMessageBeanClient.setup(ConnectorMessageBeanClient.java:170)
at com.sun.ejb.containers.MessageBeanContainer.<init>(MessageBeanContainer.java:209)
at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:280)
at com.sun.enterprise.server.AbstractLoader.loadEjbs(AbstractLoader.java:537)
at com.sun.enterprise.server.EJBModuleLoader.doLoad(EJBModuleLoader.java:171)
at com.sun.enterprise.server.AbstractLoader.load(AbstractLoader.java:245)
at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:233)
at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:188)
at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:420)
at com.sun.enterprise.admin.event.AdminEventMulticaster.invokeModuleDeployEventListener(AdminEventMulticaster.java:1004)
at com.sun.enterprise.admin.event.AdminEventMulticaster.handleModuleDeployEvent(AdminEventMulticaster.java:991)
at com.sun.enterprise.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:470)
at com.sun.enterprise.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:182)
at com.sun.enterprise.admin.server.core.DeploymentNotificationHelper.multicastEvent(DeploymentNotificationHelper.java:308)
at com.sun.enterprise.deployment.phasing.DeploymentServiceUtils.multicastEvent(DeploymentServiceUtils.java:230)
at com.sun.enterprise.deployment.phasing.ServerDeploymentTarget.sendStartEvent(ServerDeploymentTarget.java:298)
at com.sun.enterprise.deployment.phasing.ApplicationStartPhase.runPhase(ApplicationStartPhase.java:132)
at com.sun.enterprise.deployment.phasing.DeploymentPhase.executePhase(DeploymentPhase.java:108)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.executePhases(PEDeploymentService.java:920)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.start(PEDeploymentService.java:591)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.start(PEDeploymentService.java:635)
at com.sun.enterprise.admin.mbeans.ApplicationsConfigMBean.start(ApplicationsConfigMBean.java:773)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:381)
at com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:364)
at com.sun.enterprise.admin.config.BaseConfigMBean.invoke(BaseConfigMBean.java:470)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.enterprise.admin.util.proxy.ProxyClass.invoke(ProxyClass.java:90)
at $Proxy1.invoke(Unknown Source)
at com.sun.enterprise.admin.server.core.jmx.SunoneInterceptor.invoke(SunoneInterceptor.java:304)
at com.sun.enterprise.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:174)
at com.sun.enterprise.deployment.client.DeploymentClientUtils.startApplication(DeploymentClientUtils.java:154)
at com.sun.enterprise.deployment.client.DeployAction.run(DeployAction.java:535)
at java.lang.Thread.run(Thread.java:619)
|#]
[#|2008-01-02T16:25:11.443+0100|SEVERE|sun-appserver9.1|javax.enterprise.system.container.ejb|_ThreadID=24;_ThreadName=Thread-40;com.sun.enterprise.connectors.ConnectorRuntimeException: JMS resource not created : jms/MDB1;_RequestID=59330d0c-6ffd-48d6-9c99-a25e98b13700;|EJB5090: Exception in creating EJB container [com.sun.enterprise.connectors.ConnectorRuntimeException: JMS resource not created : jms/MDB1]|#]
[#|2008-01-02T16:25:11.443+0100|SEVERE|sun-appserver9.1|javax.enterprise.system.container.ejb|_ThreadID=24;_ThreadName=Thread-40;_RequestID=59330d0c-6ffd-48d6-9c99-a25e98b13700;|appId=TrialMDB moduleName=_home_efikayd_SAILFINB12_sailfin_domains_domain1_applications_j2ee-modules_TrialMDB ejbName=MDB1|#]
[#|2008-01-02T16:25:11.443+0100|SEVERE|sun-appserver9.1|javax.enterprise.system.core.classloading|_ThreadID=24;_ThreadName=Thread-40;_RequestID=59330d0c-6ffd-48d6-9c99-a25e98b13700;|LDR5004: UnExpected error occured while creating ejb container
com.sun.enterprise.connectors.ConnectorRuntimeException: JMS resource not created : jms/MDB1
at com.sun.enterprise.connectors.system.ActiveJmsResourceAdapter.getPhysicalDestinationFromConfiguration(ActiveJmsResourceAdapter.java:1528)
at com.sun.enterprise.connectors.system.ActiveJmsResourceAdapter.updateMDBRuntimeInfo(ActiveJmsResourceAdapter.java:1379)
at com.sun.enterprise.connectors.inflow.ConnectorMessageBeanClient.setup(ConnectorMessageBeanClient.java:170)
at com.sun.ejb.containers.MessageBeanContainer.<init>(MessageBeanContainer.java:209)
at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:280)
at com.sun.enterprise.server.AbstractLoader.loadEjbs(AbstractLoader.java:537)
at com.sun.enterprise.server.EJBModuleLoader.doLoad(EJBModuleLoader.java:171)
at com.sun.enterprise.server.AbstractLoader.load(AbstractLoader.java:245)
at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:233)
at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:188)
at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:420)
at com.sun.enterprise.admin.event.AdminEventMulticaster.invokeModuleDeployEventListener(AdminEventMulticaster.java:1004)
at com.sun.enterprise.admin.event.AdminEventMulticaster.handleModuleDeployEvent(AdminEventMulticaster.java:991)
at com.sun.enterprise.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:470)
at com.sun.enterprise.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:182)
at com.sun.enterprise.admin.server.core.DeploymentNotificationHelper.multicastEvent(DeploymentNotificationHelper.java:308)
at com.sun.enterprise.deployment.phasing.DeploymentServiceUtils.multicastEvent(DeploymentServiceUtils.java:230)
at com.sun.enterprise.deployment.phasing.ServerDeploymentTarget.sendStartEvent(ServerDeploymentTarget.java:298)
at com.sun.enterprise.deployment.phasing.ApplicationStartPhase.runPhase(ApplicationStartPhase.java:132)
at com.sun.enterprise.deployment.phasing.DeploymentPhase.executePhase(DeploymentPhase.java:108)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.executePhases(PEDeploymentService.java:920)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.start(PEDeploymentService.java:591)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.start(PEDeploymentService.java:635)
at com.sun.enterprise.admin.mbeans.ApplicationsConfigMBean.start(ApplicationsConfigMBean.java:773)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:381)
at com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:364)
at com.sun.enterprise.admin.config.BaseConfigMBean.invoke(BaseConfigMBean.java:470)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.enterprise.admin.util.proxy.ProxyClass.invoke(ProxyClass.java:90)
at $Proxy1.invoke(Unknown Source)
at com.sun.enterprise.admin.server.core.jmx.SunoneInterceptor.invoke(SunoneInterceptor.java:304)
at com.sun.enterprise.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:174)
at com.sun.enterprise.deployment.client.DeploymentClientUtils.startApplication(DeploymentClientUtils.java:154)
at com.sun.enterprise.deployment.client.DeployAction.run(DeployAction.java:535)
at java.lang.Thread.run(Thread.java:619)
|#]
[#|2008-01-02T16:25:11.445+0100|WARNING|sun-appserver9.1|javax.enterprise.system.core|_ThreadID=24;_ThreadName=Thread-40;_RequestID=59330d0c-6ffd-48d6-9c99-a25e98b13700;|CORE5020: Error while loading ejb module|#]
[#|2008-01-02T16:25:11.446+0100|WARNING|sun-appserver9.1|javax.enterprise.system.tools.admin|_ThreadID=24;_ThreadName=Thread-40;Error while loading EJB module [TrialMDB]. Please refer to the server log for more details. ;_RequestID=59330d0c-6ffd-48d6-9c99-a25e98b13700;|ADM1075:Error on listening event:[Error while loading EJB module [TrialMDB]. Please refer to the server log for more details. ]|#]Hi thank you for your answer. I did not create any jms resource in the application server because my message driven bean was not implementing the MessageListener interface. Since it did not work in that way, I added the MessageListenerInterface to the bean and formed the necessary jms resources usuing the admin console of the SAILFIN but it keeps giving the same message both on the linux terminal and the server log.
Let me explain my situation in a more detailed way. I am developing a JCA based resource adapter (i.e.) connector. The inbound module of the connector listens on a specific port for incoming messages from a server (EIS). The port property is defined in the connector's deployment descriptor. When a message reaches, the connector delivers it to the a message driven bean whose code is indicated in the following:
package com....;
import com....ra.facade.InboundListener;
import javax.ejb.ActivationConfigProperty;
import javax.ejb.MessageDriven;
import javax.jms.Message;
import javax.jms.MessageListener;
import java.util.logging.*;
* Entity class InboundMessageReceiverMDB
* @author efikayd
@MessageDriven(
mappedName = "InboundMessageReceiverMDB",
messageListenerInterface = com......ra.facade.InboundListener.class,
activationConfig = {
@ActivationConfigProperty(
propertyName = "listenerPort", propertyValue = "12345"),
@ActivationConfigProperty(
propertyName="ConnectionFactoryJndiName", propertyValue="RAjms/MyQCF"),
@ActivationConfigProperty(
propertyName="DestinationName", propertyValue="MyQueue"),
@ActivationConfigProperty(
propertyName="DestinationType", propertyValue="javax.jms.Queue")
public class InboundMessageReceiverMDB implements InboundListener, MessageListener {
private static final Logger logger = Logger.getLogger("com.xyz.inbound.InboundMessageReceiverMDB");
/** Creates a new instance of InboundMessageReceiverMDB */
public InboundMessageReceiverMDB() {
public void onMessage(Message message) {
public void receiveMessage(String message) {
logger.log(Level.SEVERE, "CLASS: " + getClass().getName() + "METHOD: receiveMessage() ==> Message received...: " + message);
The listener interface is the following:
package com...ra.facade;
public interface InboundListener{
public void receiveMessage(String message);
I have set the JMS resource and the destination resource properties on the admin console in the following manner:
ConnectionFactory:
JNDI Name: RAjms/MyQCF
Pool Name: RAjms/MyQCF
Type: javax.jms.ConnectionFactory
Status: enabled
Property1 ==> Name: DestinationType Value: javax.jms.Queue
Property2 ==> Name: DestinationName Value: MyQueue
Destination (i.e. queue):
JNDIName: MyQueue
Physical Destination Name: MyQueue
status: enabled
Property1 ==> Name: DestinationType Value:javax.jms.Queue
Property2 ==> Name: DestinationName Value:MyQueue
Although I created the JMS resources as above I am getting the same problems.Do you think the above configuration is fine and appropriate to the activation configuration definitions in my message driven bean code? Am I missing something on this configuration? Below, I have indicated the message that I got on the linux terminal when I attempt to deploy the message driven bean and the related server log. They are same as what I posted before (i.e. JMS resource cannot be created...). Thank you very much in advance for your help.
Kind regards,
faydemir
PS: The 'restart' command in the following linux terminal outcome basically makes a call to a bash script which deploys the message driven bean to the SAILFIN application server. The resource adapter instance is already deployed on the application server before attempting to deploy the message driven bean.
WHILE DEPLOYING:
ws2089 [11:29am] [home/efikayd/bin] -> ./restart
Command deploy executed successfully with following warning messages: Error occurred during application loading phase. The application will not run properly. Please fix your application and redeploy.
WARNING: com.sun.enterprise.deployment.backend.IASDeploymentException: Error while loading EJB module [InboundReceiverMDBModule]. Please refer to the server log for more details.
ws2089 [11:29am] [home/efikayd/bin] ->
SERVER LOG:
[#|2008-01-03T11:29:00.542+0100|INFO|sun-appserver9.1|javax.enterprise.system.core|_ThreadID=10;_ThreadName=main;|Application server startup complete.|#]
[#|2008-01-03T11:29:09.482+0100|INFO|sun-appserver9.1|javax.enterprise.system.tools.admin|_ThreadID=17;_ThreadName=httpWorkerThread-4848-1;/tmp/s1astempdomain1server-1825660455/InboundReceiverMDBModule.jar;|ADM1006:Uploading the file to:[/tmp/s1astempdomain1server-1825660455/InboundReceiverMDBModule.jar]|#]
[#|2008-01-03T11:29:12.399+0100|INFO|sun-appserver9.1|javax.enterprise.system.tools.deployment|_ThreadID=18;_ThreadName=Thread-32;|deployed with moduleid = InboundReceiverMDBModule|#]
[#|2008-01-03T11:29:12.739+0100|SEVERE|sun-appserver9.1|javax.enterprise.system.container.ejb.mdb|_ThreadID=17;_ThreadName=httpWorkerThread-4848-1;InboundMessageReceiverMDB;com.sun.enterprise.connectors.ConnectorRuntimeException: JMS resource not created : InboundMessageReceiverMDB;_RequestID=feb08bff-27af-402a-9fd5-b77b8bb5f046;|MDB00017: [InboundMessageReceiverMDB]: Exception in creating message-driven bean container: [com.sun.enterprise.connectors.ConnectorRuntimeException: JMS resource not created : InboundMessageReceiverMDB]|#]
[#|2008-01-03T11:29:12.739+0100|SEVERE|sun-appserver9.1|javax.enterprise.system.container.ejb.mdb|_ThreadID=17;_ThreadName=httpWorkerThread-4848-1;_RequestID=feb08bff-27af-402a-9fd5-b77b8bb5f046;|com.sun.enterprise.connectors.ConnectorRuntimeException
com.sun.enterprise.connectors.ConnectorRuntimeException: JMS resource not created : InboundMessageReceiverMDB
at com.sun.enterprise.connectors.system.ActiveJmsResourceAdapter.getPhysicalDestinationFromConfiguration(ActiveJmsResourceAdapter.java:1528)
at com.sun.enterprise.connectors.system.ActiveJmsResourceAdapter.updateMDBRuntimeInfo(ActiveJmsResourceAdapter.java:1379)
at com.sun.enterprise.connectors.inflow.ConnectorMessageBeanClient.setup(ConnectorMessageBeanClient.java:170)
at com.sun.ejb.containers.MessageBeanContainer.<init>(MessageBeanContainer.java:209)
at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:280)
at com.sun.enterprise.server.AbstractLoader.loadEjbs(AbstractLoader.java:537)
at com.sun.enterprise.server.EJBModuleLoader.doLoad(EJBModuleLoader.java:171)
at com.sun.enterprise.server.AbstractLoader.load(AbstractLoader.java:245)
at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:233)
at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:188)
at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:420)
at com.sun.enterprise.admin.event.AdminEventMulticaster.invokeModuleDeployEventListener(AdminEventMulticaster.java:1004)
at com.sun.enterprise.admin.event.AdminEventMulticaster.handleModuleDeployEvent(AdminEventMulticaster.java:991)
at com.sun.enterprise.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:470)
at com.sun.enterprise.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:182)
at com.sun.enterprise.admin.server.core.DeploymentNotificationHelper.multicastEvent(DeploymentNotificationHelper.java:308)
at com.sun.enterprise.deployment.phasing.DeploymentServiceUtils.multicastEvent(DeploymentServiceUtils.java:230)
at com.sun.enterprise.deployment.phasing.ServerDeploymentTarget.sendStartEvent(ServerDeploymentTarget.java:298)
at com.sun.enterprise.deployment.phasing.ApplicationStartPhase.runPhase(ApplicationStartPhase.java:132)
at com.sun.enterprise.deployment.phasing.DeploymentPhase.executePhase(DeploymentPhase.java:108)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.executePhases(PEDeploymentService.java:920)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.start(PEDeploymentService.java:591)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.start(PEDeploymentService.java:635)
at com.sun.enterprise.admin.mbeans.ApplicationsConfigMBean.start(ApplicationsConfigMBean.java:773)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:381)
at com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:364)
at com.sun.enterprise.admin.config.BaseConfigMBean.invoke(BaseConfigMBean.java:470)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.enterprise.admin.util.proxy.ProxyClass.invoke(ProxyClass.java:90)
at $Proxy1.invoke(Unknown Source)
at com.sun.enterprise.admin.server.core.jmx.SunoneInterceptor.invoke(SunoneInterceptor.java:304)
at com.sun.enterprise.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:174)
at com.sun.enterprise.admin.jmx.remote.server.callers.InvokeCaller.call(InvokeCaller.java:69)
at com.sun.enterprise.admin.jmx.remote.server.MBeanServerRequestHandler.handle(MBeanServerRequestHandler.java:155)
at com.sun.enterprise.admin.jmx.remote.server.servlet.RemoteJmxConnectorServlet.processRequest(RemoteJmxConnectorServlet.java:122)
at com.sun.enterprise.admin.jmx.remote.server.servlet.RemoteJmxConnectorServlet.doPost(RemoteJmxConnectorServlet.java:193)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:290)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:271)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:339)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:261)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:212)
at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
at com.sun.enterprise.web.connector.grizzly.WorkerThreadImpl.run(WorkerThreadImpl.java:116)
|#]
[#|2008-01-03T11:29:12.742+0100|SEVERE|sun-appserver9.1|javax.enterprise.system.container.ejb|_ThreadID=17;_ThreadName=httpWorkerThread-4848-1;com.sun.enterprise.connectors.ConnectorRuntimeException: JMS resource not created : InboundMessageReceiverMDB;_RequestID=feb08bff-27af-402a-9fd5-b77b8bb5f046;|EJB5090: Exception in creating EJB container [com.sun.enterprise.connectors.ConnectorRuntimeException: JMS resource not created : InboundMessageReceiverMDB]|#]
[#|2008-01-03T11:29:12.742+0100|SEVERE|sun-appserver9.1|javax.enterprise.system.container.ejb|_ThreadID=17;_ThreadName=httpWorkerThread-4848-1;_RequestID=feb08bff-27af-402a-9fd5-b77b8bb5f046;|appId=InboundReceiverMDBModule moduleName=_home_efikayd_SAILFINB12_sailfin_domains_domain1_applications_j2ee-modules_InboundReceiverMDBModule ejbName=InboundMessageReceiverMDB|#]
[#|2008-01-03T11:29:12.742+0100|SEVERE|sun-appserver9.1|javax.enterprise.system.core.classloading|_ThreadID=17;_ThreadName=httpWorkerThread-4848-1;_RequestID=feb08bff-27af-402a-9fd5-b77b8bb5f046;|LDR5004: UnExpected error occured while creating ejb container
com.sun.enterprise.connectors.ConnectorRuntimeException: JMS resource not created : InboundMessageReceiverMDB
at com.sun.enterprise.connectors.system.ActiveJmsResourceAdapter.getPhysicalDestinationFromConfiguration(ActiveJmsResourceAdapter.java:1528)
at com.sun.enterprise.connectors.system.ActiveJmsResourceAdapter.updateMDBRuntimeInfo(ActiveJmsResourceAdapter.java:1379)
at com.sun.enterprise.connectors.inflow.ConnectorMessageBeanClient.setup(ConnectorMessageBeanClient.java:170)
at com.sun.ejb.containers.MessageBeanContainer.<init>(MessageBeanContainer.java:209)
at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:280)
at com.sun.enterprise.server.AbstractLoader.loadEjbs(AbstractLoader.java:537)
at com.sun.enterprise.server.EJBModuleLoader.doLoad(EJBModuleLoader.java:171)
at com.sun.enterprise.server.AbstractLoader.load(AbstractLoader.java:245)
at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:233)
at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:188)
at com.sun.enterprise.server.StandAloneEJBModulesManager.moduleDeployed(StandAloneEJBModulesManager.java:420)
at com.sun.enterprise.admin.event.AdminEventMulticaster.invokeModuleDeployEventListener(AdminEventMulticaster.java:1004)
at com.sun.enterprise.admin.event.AdminEventMulticaster.handleModuleDeployEvent(AdminEventMulticaster.java:991)
at com.sun.enterprise.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:470)
at com.sun.enterprise.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:182)
at com.sun.enterprise.admin.server.core.DeploymentNotificationHelper.multicastEvent(DeploymentNotificationHelper.java:308)
at com.sun.enterprise.deployment.phasing.DeploymentServiceUtils.multicastEvent(DeploymentServiceUtils.java:230)
at com.sun.enterprise.deployment.phasing.ServerDeploymentTarget.sendStartEvent(ServerDeploymentTarget.java:298)
at com.sun.enterprise.deployment.phasing.ApplicationStartPhase.runPhase(ApplicationStartPhase.java:132)
at com.sun.enterprise.deployment.phasing.DeploymentPhase.executePhase(DeploymentPhase.java:108)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.executePhases(PEDeploymentService.java:920)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.start(PEDeploymentService.java:591)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.start(PEDeploymentService.java:635)
at com.sun.enterprise.admin.mbeans.ApplicationsConfigMBean.start(ApplicationsConfigMBean.java:773)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:381)
at com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:364)
at com.sun.enterprise.admin.config.BaseConfigMBean.invoke(BaseConfigMBean.java:470)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.enterprise.admin.util.proxy.ProxyClass.invoke(ProxyClass.java:90)
at $Proxy1.invoke(Unknown Source)
at com.sun.enterprise.admin.server.core.jmx.SunoneInterceptor.invoke(SunoneInterceptor.java:304)
at com.sun.enterprise.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:174)
at com.sun.enterprise.admin.jmx.remote.server.callers.InvokeCaller.call(InvokeCaller.java:69)
at com.sun.enterprise.admin.jmx.remote.server.MBeanServerRequestHandler.handle(MBeanServerRequestHandler.java:155)
at com.sun.enterprise.admin.jmx.remote.server.servlet.RemoteJmxConnectorServlet.processRequest(RemoteJmxConnectorServlet.java:122)
at com.sun.enterprise.admin.jmx.remote.server.servlet.RemoteJmxConnectorServlet.doPost(RemoteJmxConnectorServlet.java:193)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:290)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:271)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:339)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:261)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:212)
at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
at com.sun.enterprise.web.connector.grizzly.WorkerThreadImpl.run(WorkerThreadImpl.java:116)
|#]
[#|2008-01-03T11:29:12.745+0100|WARNING|sun-appserver9.1|javax.enterprise.system.core|_ThreadID=17;_ThreadName=httpWorkerThread-4848-1;_RequestID=feb08bff-27af-402a-9fd5-b77b8bb5f046;|CORE5020: Error while loading ejb module|#]
[#|2008-01-03T11:29:12.747+0100|WARNING|sun-appserver9.1|javax.enterprise.system.tools.admin|_ThreadID=17;_ThreadName=httpWorkerThread-4848-1;Error while loading EJB module [InboundReceiverMDBModule]. Please refer to the server log for more details. ;_RequestID=feb08bff-27af-402a-9fd5-b77b8bb5f046;|ADM1075:Error on listening event:[Error while loading EJB module [InboundReceiverMDBModule]. Please refer to the server log for more details. ]|#] -
Message-driven bean destination name not found error
Hi,
I am getting this error when I attempt to deploy the Warehouse message-driven bean example/tutorial. I followed the steps in the JMS Queue Simple Sample Application included with the server to set up the queue and queue factory, but I don't think the app. is even getting that far. I can not figure out why I'm get this error. I have looked at everything I can think of, but I'm obviously missing something. Here is the error from the server log.
INFO ( 2252): JMS5015: Install JMS resources ...
INFO ( 2252): JMS5002: Binding [< JMS Destination: jms/WarehouseQueue, javax.jms.Queue, [ imqDestinationName=WarehouseQueue ] >]
INFO ( 2252): JMS5002: Binding [< JMS Connection Factory: jms/WarehouseQueueConnectionFactory, javax.jms.QueueConnectionFactory, [ imqBrokerHostName=localhost , imqBrokerHostPort=7676 ] >]
INFO ( 2252): HTTP3072: HTTP listener http-listener-1 [http://ibankdev2:80] ready to accept requests
INFO ( 2252): CORE3274: successful server startup
INFO ( 2252): CORE5053: Application onReady complete.
INFO ( 2252): MDB00044: Deploying message-driven bean [MDBApp:Warehouse], consuming from [jms/Warehouse]
SEVERE ( 2252): MDB00015: [MDBApp:Warehouse]: Message-driven bean destination name [jms/Warehouse] not found
SEVERE ( 2252): javax.naming.NameNotFoundException
javax.naming.NameNotFoundException: Warehouse not found
at com.sun.enterprise.naming.TransientContext.doLookup(TransientContext.java:185)
at com.sun.enterprise.naming.TransientContext.lookup(TransientContext.java:157)
at com.sun.enterprise.naming.TransientContext.lookup(TransientContext.java:161)
at com.sun.enterprise.naming.SerialContextProviderImpl.lookup(SerialContextProviderImpl.java:78)
at org.omg.stub.com.sun.enterprise.naming._SerialContextProviderImpl_Tie._invoke(Unknown Source)
at com.sun.corba.ee.internal.corba.ServerDelegate.dispatch(ServerDelegate.java:375)
at com.sun.corba.ee.internal.iiop.ORB.process(ORB.java:275)
at com.sun.corba.ee.internal.iiop.LocalClientRequestImpl.invoke(LocalClientRequestImpl.java:96)
at com.sun.corba.ee.internal.corba.ClientDelegate.invoke(ClientDelegate.java:237)
at com.sun.corba.ee.internal.corba.ClientDelegate.invoke(ClientDelegate.java:279)
at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:457)
at org.omg.stub.com.sun.enterprise.naming._SerialContextProvider_Stub.lookup(Unknown Source)
at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:138)
at javax.naming.InitialContext.lookup(InitialContext.java:347)
at com.sun.ejb.containers.MessageBeanHelperBase.setup(MessageBeanHelperBase.java:317)
at com.sun.ejb.containers.MessageBeanContainer.<init>(MessageBeanContainer.java:206)
at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:173)
at com.iplanet.ias.server.AbstractLoader.loadEjbs(AbstractLoader.java:345)
at com.iplanet.ias.server.ApplicationLoader.load(ApplicationLoader.java:81)
at com.iplanet.ias.server.ApplicationManager.applicationDeployed(ApplicationManager.java:134)
at com.iplanet.ias.server.ApplicationManager.applicationDeployed(ApplicationManager.java:110)
at com.iplanet.ias.server.ApplicationManager.applicationDeployed(ApplicationManager.java:294)
at com.iplanet.ias.admin.event.AdminEventMulticaster.invokeApplicationDeployEventListener(AdminEventMulticaster.java:424)
at com.iplanet.ias.admin.event.AdminEventMulticaster.handleApplicationDeployEvent(AdminEventMulticaster.java:408)
at com.iplanet.ias.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:291)
at com.iplanet.ias.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:99)
at com.iplanet.ias.admin.server.core.channel.AdminChannelServer.sendNotification(AdminChannelServer.java:84)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:536)
SEVERE ( 2252): MDB00030: [MDBApp:Warehouse]: Exception in setting up message-driven bean container: [MDBApp:Warehouse: Message-driven bean destination jms/Warehouse not found]
SEVERE ( 2252): MDB00017: [Warehouse]: Exception in creating message-driven bean container: [javax.jms.JMSException: MDBApp:Warehouse: Message-driven bean destination jms/Warehouse not found]
SEVERE ( 2252): javax.jms.JMSException
javax.jms.JMSException: MDBApp:Warehouse: Message-driven bean destination jms/Warehouse not found
at com.sun.ejb.containers.MessageBeanHelperBase.setup(MessageBeanHelperBase.java:340)
at com.sun.ejb.containers.MessageBeanContainer.<init>(MessageBeanContainer.java:206)
at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:173)
at com.iplanet.ias.server.AbstractLoader.loadEjbs(AbstractLoader.java:345)
at com.iplanet.ias.server.ApplicationLoader.load(ApplicationLoader.java:81)
at com.iplanet.ias.server.ApplicationManager.applicationDeployed(ApplicationManager.java:134)
at com.iplanet.ias.server.ApplicationManager.applicationDeployed(ApplicationManager.java:110)
at com.iplanet.ias.server.ApplicationManager.applicationDeployed(ApplicationManager.java:294)
at com.iplanet.ias.admin.event.AdminEventMulticaster.invokeApplicationDeployEventListener(AdminEventMulticaster.java:424)
at com.iplanet.ias.admin.event.AdminEventMulticaster.handleApplicationDeployEvent(AdminEventMulticaster.java:408)
at com.iplanet.ias.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:291)
at com.iplanet.ias.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:99)
at com.iplanet.ias.admin.server.core.channel.AdminChannelServer.sendNotification(AdminChannelServer.java:84)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:536)
SEVERE ( 2252): EJB5090: Exception in creating EJB container [javax.jms.JMSException: MDBApp:Warehouse: Message-driven bean destination jms/Warehouse not found]
SEVERE ( 2252): appId=MDBApp moduleName=EJBModule_Warehouse_jar ejbName=Warehouse
SEVERE ( 2252): LDR5004: UnExpected error occured while creating ejb container
javax.jms.JMSException: MDBApp:Warehouse: Message-driven bean destination jms/Warehouse not found
at com.sun.ejb.containers.MessageBeanHelperBase.setup(MessageBeanHelperBase.java:340)
at com.sun.ejb.containers.MessageBeanContainer.<init>(MessageBeanContainer.java:206)
at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:173)
at com.iplanet.ias.server.AbstractLoader.loadEjbs(AbstractLoader.java:345)
at com.iplanet.ias.server.ApplicationLoader.load(ApplicationLoader.java:81)
at com.iplanet.ias.server.ApplicationManager.applicationDeployed(ApplicationManager.java:134)
at com.iplanet.ias.server.ApplicationManager.applicationDeployed(ApplicationManager.java:110)
at com.iplanet.ias.server.ApplicationManager.applicationDeployed(ApplicationManager.java:294)
at com.iplanet.ias.admin.event.AdminEventMulticaster.invokeApplicationDeployEventListener(AdminEventMulticaster.java:424)
at com.iplanet.ias.admin.event.AdminEventMulticaster.handleApplicationDeployEvent(AdminEventMulticaster.java:408)
at com.iplanet.ias.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:291)
at com.iplanet.ias.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:99)
at com.iplanet.ias.admin.server.core.channel.AdminChannelServer.sendNotification(AdminChannelServer.java:84)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:536)
WARNING ( 2252): CORE5021: Application NOT loaded: [MDBApp]
WARNING ( 2252): ADM5603:Event listener error [Error while deploying application [MDBApp]. Please refer to the server log for more details. ]
My bean name is Warehouse, jms/Warehouse is the JNDI and is mapped to MDBPack.WarehouseBean.class. MDBPack is in the classpath on the server. I guessed that the physical destination name was WarehouseQueue, but using Warehouse produced the same result. Please let me know if there is anything I could be missing. TIA
--MichelleHi,
You have not created the jms destination queue object
jms/Warehouse
Your server logs says it cannot find the destination queue object.It has got nothing to do with jndi name of your bean
Create jms destination queue object using
asadmin>create-jms-resource instance <instance_name> resourcetype javax.jms.Queue --property imqDestinationName=<NAme> jms/Warehouse
Then use list-jms-resources <instance_name> to
find if jms/Warehouse destionation queue object has been created.
Get back in case of any issues -
Dynamic queue listener in Message driven bean
Hi all
I wonder if exists a way for creating a message driven bean that reads messages from a queue defined on fly.
I mean I'd like to create an mdb that read from queue ,where the queue name is defined in a data base table .
Hope to be clear.
Thanks in advanceYes, you can use either a queue or a topic to drive an MDB.
There are a number of discussion threads related to MDB's in
weblogic.develoepr.interest.jms.
"Herman Lam" <[email protected]> wrote in message
news:3ac891da$[email protected]..
>
Hi Folk:
Does anyone know whether the Weblogic 6.0 EJB 2.0 Message Driven Bean cansupport
queue event for the OnMessage( javax.jms.Message messagenmae)
callback method or does it only support publisher/subscriber event ?
Best Regards
Herman -
Send message from JSP page to Java message driven bean
Hi all
I'm using Jdev903.
I need to send a message from JSP page (Web Application) to Java Message Driven Bean.
* I created Message Driven Bean that named: MyMessageDrivenEJBBean
* I have configed jms.xml:
<topic-connection-factory name="ChatTopicConnectionFactory" location="jms/theTopicConnectionFactory"/>
<topic name="ChatTopic" location="jms/theTopic"/>
* In JSP page, my code is:
final Context ctx = new InitialContext();
// 1: Lookup ConnectionFactory via JNDI
TopicConnectionFactory factory =(TopicConnectionFactory)ctx.lookup("jms/theTopicConnectionFactory");
But trouble occurs is:
javax.naming.NameNotFoundException: jms/theTopicConnectionFactory not found
please help me!
thank a lot.Welcome to the Sun forums.
1. Please post your code using code tags, this formats it so that it is easier for people to read and understand it. Click on 'CODE' above the text area when posting.
2. As far as possible, please post an SSCCE
What have learnt about JSPs and servlets till now? Because reading the values submitted in a form is pretty much the base of all operations. I suggest you Google for [servlet tutorials|http://www.google.com/search?q=servlet+tutorial] and [JSP tutorials|http://www.google.com/search?q=jsp+tutorial] and go through them thoroughly. After you understand what is to be done and what options are available to you, if you still face problems, please feel free to post your queries here. But this isn't exactly a site for tutorials, especially since there are so many good ones already out there, that explain all this stuff in detail. There's no point in re-inventing the wheel.
Hints: [ServletRequest#getParameter()|http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html#getParameter(java.lang.String)] and [RequestDispatcher#forward|http://java.sun.com/javaee/5/docs/api/javax/servlet/RequestDispatcher.html] -
Deactivating Message Driven Beans
I have few message driven beans written in purpose of testing. What is the right way to deactivate them while deploying it in production.?
Thanks
BaijuYou could also have a look at message-driven services (MDS)--they are a new container abstraction developed by Arjuna and available as part of the ArjunaMS 4.0 JMS provider. MDSs allow you to consume and produce messages, using a rich mailbox framework (multiple inboxes, multiple outboxes and a fault box are availabel to the MDS). By chaining together MDS instances via JMS destinations, you can model enterprise workflows. In addition, the MDS container has an embedded transaction manager, allowing you to perform business logic and message consumption/production as a transactional unit of work; for example, it is possible to transactionally update a database in response to message arrival.
ArjunaMS 4.0 is available for evaluation from http://www.arjuna.com/products/arjunams
All the best, Thomas
www.arjuna.com
Maybe you are looking for
-
Can I use two iPods on one iTunes?
I have a iPod video and I just bought a Touch. Can I synch them both on my iMac with the same iTunes files??
-
What is the best external hard drive to use for my mac?
I recently purchase a brand new Lacie 500 GB HD and I thought that it was perfect but the other day its not working, my mac doesnt recognize it anymore. I saw some post that Lacie is not a good hard drive I read that after I bought my Lacie. I wish t
-
Mail.app shows garbled Chinese character
Mail.app received a mail, which displayed fine in inbox listing. But showed only garbled characters after opening the mail. The mail itself shows no problem in gmail web interface. Here is the original message: ===== Begining of quote: Delivered-To:
-
Why is there no option to resend a text message?
I know I can hold down the message and press forward but why not have a resend option?
-
What controls display (or no display) of current file name?
These are saved files; but what files are they?