JMS Queue/Topic MDB

Es posible crear Queue/Topic diamicamente
Es posible crear los MDB dinamicamente.
de que manera se puede implementar.
gracias.

Hi Rolper
La capacidad de crear din�micamente un queue/topic depende de su abastecedor de JMS. La mayor�a de los abastecedores de JMS tienen un "API administrativo" para hacer esto - por ejemplo ArjunaMS (http://www.arjuna.com) proporciona un API comprensivo para crear queue y topics en runtime.
Hope this helps,
Tom Jenkinson

Similar Messages

  • Regarding JMS-Queue/Topic in Proxy and Business service in OSB

    Hi
    I have one query regarding to the JMS-Queue/Topic.
    I am published the message to the JMS-Queue/Topic.
    ----My Business-service configuration is---
    General----Any xml
    Tranport--jms://localhost:7001/MyConnectionFactory/RequestQueue
    Response--None
    I call this Business-service in proxy-service of Routing message was published successfully to thee Queue.
    I try to dequeue the message from that queue for this
    --- I take another proxy with---
    General----Any xml
    Tranport--jms://localhost:7001/MyConnectionFactory/RequestQueue
    In meassage flow
    Routing--second busines-service)
    --- Second business-service configuration is---
    General----Any xml
    Tranport-File (C://temp)
    Issue is when I publish the message to Queue,the message is also found in the file  i.e C:temp. I don't now why  this come to the file.*
    Any suggestions
    Thanks
    Mani

    Either I did not get an idea, but in your JMS proxy you are routing to File :)
    If you don't want file, why route to 2nd BS ?

  • Accessing JMS Queue/Topic located in different Managed server on same domai

    Our use-case is as follows.
    In our weblogic domain we have SOA_Cluster and a stand alone managed server. All the custom JMS resources belong to a JMS server that is targeted to stand alone JMS server. We are trying to access JMS Queues/Topics located in the stand alone managed server from JMS adapter (part of SOA Cluster).
    I am wondering what should be our adapter configuration in this scenario. In going through JMS adapter use-cases (below is the link), there is a mention of how to access resources located in Remote weblogic Domain. I am wondering if the same applies to us OR if there is better way to access JMS resources for our use case.
    http://download.oracle.com/docs/cd/E14571_01/integration.1111/e10231/adptr_jms.htm#CJAHAFGF
    Appreciate your feedback.

    Yes, the same applies for your case but no need to enable trust. Rest of the things will remain same.
    Better you post weblogic related questions in Weblogic forum.
    Regards,
    Anuj

  • JMS,Queues/Topics,Weblogic8.1

    Hi
    Im newbie to JMS, and I would like to get start with
    JMS,Queues/Topics on Weblogic8.1 .
    Can anybody provide me urls which are easy to
    understand as well as run the sample applications.
    thnks..

    Maybe its worth starting with a library that wraps up JMS for you so you can focus on POJOs and your application objects - like Lingo
    http://lingo.codehaus.org/
    James
    http://logicblaze.com/

  • How to send BusinessEvent from oracle EBS 12 to an external JMS Queue/Topic

    Hello Sir:
    How to send BusinessEvent from oracle EBS 12 to an external JMS Queue/Topic??
    How to receive BusinessEvent from an external JMS Queue/Topic to oracle EBS 12 ??
    It is a Third Party JMS Server, it has queue and topic etc??
    which module should be used??
    what is the basic steps to do??
    Thanks

    swapnil_yeole wrote:
    Hello,
    We want to install Oracle EBS 12.1.1.
    Our internet speed is very poor so it would not be feasible for us to download the software from E-delivery site.
    Can you please let me know how & where to obtain Oracle EBS 12.1.1 DVD's.
    Do we need to raise an SR with Oracle for same.
    Thanks in advance.
    Yes -- https://blogs.oracle.com/stevenChan/entry/how_to_obtain_media_packs
    Thanks,
    Hussein

  • Web service which listens/replies over JMS Queues/Topics - HOW?

    Hi all,
    I need help - I have to implement the following Web Service for Weblogic 8.1:
    - Simple Helloworld operation
    - The Web service should listen on a Queue(or Topic) - say Queue1
    - The response of the service should be put in another queue - predefined - say Queue2(or taken as propetry of the request "ReplyTO")
    I looked for such an implementation in the available examples and forum topics, but without luck.
    Please, give an example or a guide how to implement such a service if possible!
    Thanks,
    Ivo

    Hi,
    I have a work around to this problem please see if it suits you or you might already be knowing it.
    Workaround is
    1. Create a Simple Webservice as needed which puts a message in a Queue.
    2. Create an MDB which listens to you Queue / Topic and call the created webserivce in the onMessage function of the MDB.
    Vivek

  • Cleanup JMS queue/topic messages

              how do I clean up all messages left on a queue/topic ? thx.
              

    There is no purge command.
              In 8.1, delete and recreate the destination via the console,
              JMX, or extensions.JMSHelper, the JMS
              server doesn't even need to be booted. A timestamp
              in the destination configuration is automatically set to
              let JMS detect that the destination is a new version.
              In 7.0, delete the queue, shutdown the JMS server,
              reboot the JMS server, and then recreate the destination.
              In any version, shutting down the JMS server will delete
              non-persistent messages.
              You can delete topic subscriptions via the console.
              You can write a simple JMS client to drain the destination
              by consuming messages. (Multi-thread multiple consumers to
              speed this up considerably.)
              Queen Tsao wrote:
              > how do I clean up all messages left on a queue/topic ? thx.
              

  • Enable JMS - Queue/Topic Trace on console

    Hi everyone,
    I want to enable weblogic QUEUE/Topic trace enable so i could view the messages on the console can anyone please help!
    i already have logging enable for queues in the weblogic admin console but all the logs are going to jms.logging file which is not that helpful!
    IN MQ i use to add additional parameter trace=true in front of each queue defined, please tell how i can enable it in weblogic!
    TIA
    sall0

    To manage a queue's messages:
    1. If you have not already done so, in the Change Center of the Administration Console, click Lock & Edit (see Use the Change Center).
    2. In the Administration Console, navigate to the queue resource that you want to configure:
    * Navigate to JMS Resources in System Modules
    * Navigate to JMS resources in an application module
    3. Click the Monitoring tab.
    4. Select the check box next to the queue, and then click Show Messages to access the queue's JMS Messages table. You can then
    perform the following administrative procedures on a specific message or selected messages:
    Click a message in the queue to open the View Contents page, where you can view the contents of a JMS message. For more information :-
    Link : [http://download.oracle.com/docs/cd/E12840_01/wls/docs103/ConsoleHelp/taskhelp/jms_modules/queues/ManageQueues.html]

  • Accessing JMS Queue located in stand alone managed server on same domain

    Our use-case is as follows.
    In our weblogic domain we have SOA_Cluster and a stand alone managed server. All the custom JMS resources belong to a JMS server that is targeted to stand alone JMS server. We are trying to access JMS Queues/Topics located in the stand alone managed server from JMS adapter (part of SOA Cluster).
    I am wondering what should be our adapter configuration in this scenario. In going through JMS adapter use-cases (below is the link), there is a mention of how to access resources located in Remote weblogic Domain. I am wondering if the same applies to us OR if there is better way to access JMS resources for our use case.
    http://download.oracle.com/docs/cd/E14571_01/integration.1111/e10231/adptr_jms.htm#CJAHAFGF
    Appreciate your feedback.

    Accessing JMS Queue/Topic located in different Managed server on same domai
    Regards,
    Anuj

  • JMS Queue Consumers

              Hi,
              I am using WL6.1 SP4 JMS Queues and MDB's. During busy times, the bean(s) can't
              keep up. Number of consumers are always 15 (cosumers total- 30 , consumers high
              - 15 and consumers -15 on Monitoring window) even lot messages are pending in
              the queue. The pool parameters specified in DD are as below
              <pool>
              <max-beans-in-free-pool>30</max-beans-in-free-pool>
              <initial-beans-in-free-pool>5</initial-beans-in-free-pool>
              </pool>
              Can some one help me out.
              Thanks in adv,
              Dp
              

    As far as I know, these are the only two parms that effect
              MDB instance creation on 6.1. I suggest:
              1) increase the values higher to see what happens
              2) make sure to reboot (these values are not dynamic)
              3) force server to thread dump to ensure that the extra threads
              are getting created and that the MDBs are running in
              the thread pool that your are increasing...
              4) post to the weblogic.ejb newsgroup, which "owns" mdbs
              5) contact customer support
              Tom
              DP wrote:
              > Hi,
              >
              > I increased this thread pool size to 25.
              > Now the max-beans-in-free-pool is 20.
              > Still it is not increasing the beans count above 15.
              >
              > DP
              >
              > Tom Barnes <[email protected]> wrote:
              >
              >>MDBs run in the main "default execute" thread pool, which has a
              >>default size of 15. This is the limit you are running into.
              >>You can configure a server's thread pool size on the console.
              >>
              >>Note that since this thread pool is used for other server work,
              >>the MDB max-beans-in-free-pool should be configured to something
              >>somewhat less that the "default execute" thread pool size. This
              >>prevents starvation dead-locks...
              >>
              >>Tom
              >>
              >>DP wrote:
              >>
              >>>Hi,
              >>>
              >>>I am using WL6.1 SP4 JMS Queues and MDB's. During busy times, the
              >>
              >>bean(s) can't
              >>
              >>>keep up. Number of consumers are always 15 (cosumers total- 30 , consumers
              >>
              >>high
              >>
              >>>- 15 and consumers -15 on Monitoring window) even lot messages are
              >>
              >>pending in
              >>
              >>>the queue. The pool parameters specified in DD are as below
              >>>
              >>><pool>
              >>> <max-beans-in-free-pool>30</max-beans-in-free-pool>
              >>> <initial-beans-in-free-pool>5</initial-beans-in-free-pool>
              >>> </pool>
              >>>
              >>>Can some one help me out.
              >>>
              >>>Thanks in adv,
              >>>Dp
              >>
              >
              

  • Multiple Apps and Multiple Queues/Topics

              In WL7, is it possible to have two applications both do the same JNDI lookup and get
              different queues? This is possible with EJB's because Weblogic has its own local
              JNDI lookup that the java:comp/env/ejb/XXX references, however you cannot do the
              local lookup with JMS queues/topics. My situation is that I may have more than one
              client on a given box, and the messages going into a queue are destined for specific
              clients, but the programs are both looking up the same queue (e.g., jms/UpdateCache).
              Is the only way to do this through using filters? I don't want to make any code changes
              from one client app to the next.
              

    You can configure same queue/topic on multiple servers by using
              JNDINameReplicated=false on the queue/topic so each queue/topic is only
              known locally. Then you can use dedicated connection Factory for each
              server and you can use different url to connect to different server.
              e.g.
              # two connection factories deployed on two different WLS servers
              # myserver1 has url like this: 192.0.0.1:7001
              # myserver2 has url like this: 192.0.0.2:7001
              # two JMS Servers deployed on two different WLS servers
              # each JMS server has an identical queue
              # you do not need to specify JNDIName for the queue if you can use
              createQueue
              # queueSession.createQueue("./exampleQueue1");
              # client (sender/consumer) using 192.0.0.1:7001 to get initialContext
              will use "cf1" and
              # lookup queue on myserver1
              # client (sender/consumer) using 192.0.0.2:7002 to get initialContext
              will use "cf2" and
              # lookup queue on myserver2
              # port of config.xml
              <JMSConnectionFactory
              JNDIName="jms.connection.exampleFactoryFormyServer1"
              Name="cf1" Targets="myserver1"/>
              <JMSConnectionFactory
              JNDIName="jms.connection.exampleFactoryFormyServer2"
              Name="cf2" Targets="myserver2"/>
              <JMSServer Name="exampleJMSServer1" Targets="myserver1">
              <JMSQueue
              JNDIName="jms.queue.exampleQueue1"
              JNDINameReplicated="false"
              Name="exampleQueue1"/>
              </JMSServer>
              <JMSServer Name="exampleJMSServer2" Targets="myserver2">
              <JMSQueue
              JNDIName="jms.queue.exampleQueue1"
              JNDINameReplicated="false"
              Name="exampleQueue1"/>
              </JMSServer>
              "David Cherryhomes" <[email protected]> wrote in message
              news:[email protected]...
              >
              > In WL7, is it possible to have two applications both do the same JNDI
              lookup and get
              > different queues? This is possible with EJB's because Weblogic has its own
              local
              > JNDI lookup that the java:comp/env/ejb/XXX references, however you cannot
              do the
              > local lookup with JMS queues/topics. My situation is that I may have more
              than one
              > client on a given box, and the messages going into a queue are destined
              for specific
              > clients, but the programs are both looking up the same queue (e.g.,
              jms/UpdateCache).
              > Is the only way to do this through using filters? I don't want to make any
              code changes
              > from one client app to the next.
              

  • Issue with MDB (jms Queue) in weblogic 8.1

              Hi all...
              I'm facing a strange kind of problem with MDB using weblogic 8.1.
              The code worked perfectly in weblogic 7.0.
              This is wht i'm trying to achieve..
              i'm having a MDB which implements a onMessage().
              I'm publishing message thru a standalone client. Publishing works fine..
              The problem is onMessage(javax.jms.Message msg) is never been called :-(.
              when i monitor it shows that messages are recieved..
              Am is missing something that is really important..
              here is my code
              package com.csxwt.zodiac.service.domain;
              import javax.ejb.*;
              import javax.jms.*;
              import javax.naming.*;
              import java.io.Serializable;
              //import com.csxwt.zodiac.service.domain.TestObject;
              public class MDBTestBean implements MessageDrivenBean, MessageListener {
              MessageDrivenContext messageDrivenContext;
              public void ejbCreate() throws CreateException {
              System.out.println("into the ejb create");
              /**@todo Complete this method*/
              public void ejbRemove() {
              /**@todo Complete this method*/
              public void onMessage(javax.jms.Message msg) {
              System.out.println("into the onMessage method 1 ");
              ObjectMessage objectMsg = null;
              String strObject = "Test";
              try
              System.out.println("into the onMessage method 2 ");
              if (msg instanceof ObjectMessage)
              System.out.println("into the onMessage method 3");
              objectMsg = (ObjectMessage) msg;
              Serializable serializableObj = objectMsg.getObject();
              String test = serializableObj.toString();
              System.out.println("value of the message sent " + test);
              TestObject test1 = null;
              if(serializableObj instanceof TestObject )
              test1 = (TestObject) serializableObj;
              System.out.println("after getting the test value ");
              System.out.println("getting the test object valuye " + test1.getName());
              else
              return;
              catch (Exception e)
              System.out.println("Message Bean:unexpected Exception thrown ");
              e.printStackTrace();
              public void setMessageDrivenContext(MessageDrivenContext messageDrivenContext)
              System.out.println("into MDB context");
              this.messageDrivenContext = messageDrivenContext;
              here are the 2 xml files....
              <ejb-jar>
              <enterprise-beans>
              <message-driven>
              <display-name>MDBTest</display-name>
              <ejb-name>MDBTest</ejb-name>
              <ejb-class>com.csxwt.zodiac.service.domain.MDBTestBean</ejb-class>
              <transaction-type>Container</transaction-type>
              <message-selector>GATE_LANE</message-selector>
              <message-driven-destination>
              <destination-type>javax.jms.Queue</destination-type>
              </message-driven-destination>
              </message-driven>
              </enterprise-beans>
              <assembly-descriptor>
              <container-transaction>
              <method>
              <ejb-name>MDBTest</ejb-name>
              <method-name>*</method-name>
              </method>
              <trans-attribute>Required</trans-attribute>
              </container-transaction>
              </assembly-descriptor>
              </ejb-jar>
              <weblogic-ejb-jar>
              <weblogic-enterprise-bean>
              <ejb-name>MDBTest</ejb-name>
              <message-driven-descriptor>
              <pool>
              <max-beans-in-free-pool>200</max-beans-in-free-pool>
              <initial-beans-in-free-pool>20</initial-beans-in-free-pool>
              </pool>
              <destination-jndi-name>zodiac.jms.queue.HardWareOutMessageQueue</destination-jndi-name>
              </message-driven-descriptor>
              </weblogic-enterprise-bean>
              </weblogic-ejb-jar>
              Am i missing something somewhere?????
              any help in this is highly appreciated..
              thanks in advance.
              r
              sasi
              

    Check your log for error and warning messages. If there
              are some, they should help trace down the problem. If there
              aren't any, try confirm that your MDB is deploying in
              the first place.
              The MDB below is a Q MDB, but you write below that your client
              is a "publisher". "Publisher" implies a topic producer, not
              a queue producer, and topic producer can't publish to queues.
              Tom
              T. Sasii Dharma wrote:
              > Hi all...
              >
              > I'm facing a strange kind of problem with MDB using weblogic 8.1.
              > The code worked perfectly in weblogic 7.0.
              > This is wht i'm trying to achieve..
              > i'm having a MDB which implements a onMessage().
              > I'm publishing message thru a standalone client. Publishing works fine..
              > The problem is onMessage(javax.jms.Message msg) is never been called :-(.
              > when i monitor it shows that messages are recieved..
              > Am is missing something that is really important..
              >
              > here is my code
              >
              > package com.csxwt.zodiac.service.domain;
              >
              > import javax.ejb.*;
              > import javax.jms.*;
              > import javax.naming.*;
              > import java.io.Serializable;
              > //import com.csxwt.zodiac.service.domain.TestObject;
              >
              > public class MDBTestBean implements MessageDrivenBean, MessageListener {
              > MessageDrivenContext messageDrivenContext;
              > public void ejbCreate() throws CreateException {
              > System.out.println("into the ejb create");
              > /**@todo Complete this method*/
              > }
              > public void ejbRemove() {
              > /**@todo Complete this method*/
              > }
              > public void onMessage(javax.jms.Message msg) {
              > System.out.println("into the onMessage method 1 ");
              > ObjectMessage objectMsg = null;
              > String strObject = "Test";
              > try
              > {
              > System.out.println("into the onMessage method 2 ");
              > if (msg instanceof ObjectMessage)
              > {
              > System.out.println("into the onMessage method 3");
              > objectMsg = (ObjectMessage) msg;
              > Serializable serializableObj = objectMsg.getObject();
              > String test = serializableObj.toString();
              > System.out.println("value of the message sent " + test);
              > TestObject test1 = null;
              > if(serializableObj instanceof TestObject )
              > {
              > test1 = (TestObject) serializableObj;
              > System.out.println("after getting the test value ");
              > System.out.println("getting the test object valuye " + test1.getName());
              > }
              >
              > }
              > else
              > {
              > return;
              > }
              >
              > }
              > catch (Exception e)
              > {
              > System.out.println("Message Bean:unexpected Exception thrown ");
              > e.printStackTrace();
              > }
              >
              > }
              > public void setMessageDrivenContext(MessageDrivenContext messageDrivenContext)
              > {
              > System.out.println("into MDB context");
              >
              > this.messageDrivenContext = messageDrivenContext;
              > }
              > }
              >
              >
              > here are the 2 xml files....
              >
              > <ejb-jar>
              > <enterprise-beans>
              > <message-driven>
              > <display-name>MDBTest</display-name>
              > <ejb-name>MDBTest</ejb-name>
              > <ejb-class>com.csxwt.zodiac.service.domain.MDBTestBean</ejb-class>
              > <transaction-type>Container</transaction-type>
              > <message-selector>GATE_LANE</message-selector>
              > <message-driven-destination>
              > <destination-type>javax.jms.Queue</destination-type>
              > </message-driven-destination>
              > </message-driven>
              > </enterprise-beans>
              > <assembly-descriptor>
              > <container-transaction>
              > <method>
              > <ejb-name>MDBTest</ejb-name>
              > <method-name>*</method-name>
              > </method>
              > <trans-attribute>Required</trans-attribute>
              > </container-transaction>
              > </assembly-descriptor>
              > </ejb-jar>
              >
              > <weblogic-ejb-jar>
              > <weblogic-enterprise-bean>
              > <ejb-name>MDBTest</ejb-name>
              > <message-driven-descriptor>
              > <pool>
              > <max-beans-in-free-pool>200</max-beans-in-free-pool>
              > <initial-beans-in-free-pool>20</initial-beans-in-free-pool>
              > </pool>
              > <destination-jndi-name>zodiac.jms.queue.HardWareOutMessageQueue</destination-jndi-name>
              > </message-driven-descriptor>
              > </weblogic-enterprise-bean>
              > </weblogic-ejb-jar>
              >
              > Am i missing something somewhere?????
              > any help in this is highly appreciated..
              >
              > thanks in advance.
              >
              > r
              > sasi
              

  • MDBs in 9.1 continue to consume JMS queues even after being deleted

    <b>We have an MDB application that reads a batch message off of a JMS queue, archives it in a database, parses the batch message into individual messages and writes them onto other JMS queues to be consumed by another application. Everything was running fine in Weblogic 8.1.5. However, due to problems with XA drivers and the MSDTC(predictable SQL server crashes), we decided to upgrade to Weblogic 9.1 to take advantage of the LLR option.</b>
              <b>First, we had an issue where our MDBs were causing the following exception:</b>
              <i>####<May 26, 2006 7:42:12 PM EDT> <Error> <JMX> <ist-clft2> <wltest1> <ExecuteThread: '1' for queue: 'default'> <<WLS Kernel>> <> <> <1148686932991> <BEA-149500> <An exception occurred while registering the MBean null.
              java.lang.IllegalArgumentException: Registered more than one instance with the same objectName : com.bea:ServerRuntime=wltest1,MessageDrivenEJBRuntime=RhapsodyMDB_DMBModule!JMSServer4@DMB_BEAN_QUEUE,Name=RhapsodyMDB_DMBModule!JMSServer4@DMB_BEAN_QUEUE,ApplicationRuntime=DataBrokerEAR1_2,Type=EJBPoolRuntime,EJBComponentRuntime=DataBrokerEJB new:[email protected] existing weblogic.ejb.container.monitoring.EJBPoolRuntimeMBeanImpl@7db003
                   at weblogic.management.jmx.ObjectNameManagerBase.registerObject(ObjectNameManagerBase.java:146)
                   at weblogic.management.mbeanservers.internal.WLSObjectNameManager.lookupObjectName(WLSObjectNameManager.java:133)
                   at weblogic.management.jmx.modelmbean.WLSModelMBeanFactory.registerWLSModelMBean(WLSModelMBeanFactory.java:86)
                   at weblogic.management.mbeanservers.internal.RuntimeMBeanAgent$1.registered(RuntimeMBeanAgent.java:104)
                   at weblogic.management.provider.internal.RegistrationManagerImpl.invokeRegistrationHandlers(RegistrationManagerImpl.java:205)
                   at weblogic.management.provider.internal.RegistrationManagerImpl.register(RegistrationManagerImpl.java:85)
                   at weblogic.management.runtime.RuntimeMBeanDelegate.register(RuntimeMBeanDelegate.java:320)
                   at weblogic.management.runtime.RuntimeMBeanDelegate.<init>(RuntimeMBeanDelegate.java:257)
                   at weblogic.management.runtime.RuntimeMBeanDelegate.<init>(RuntimeMBeanDelegate.java:222)
                   at weblogic.ejb.container.monitoring.EJBPoolRuntimeMBeanImpl.<init>(EJBPoolRuntimeMBeanImpl.java:32)
                   at weblogic.ejb.container.monitoring.MessageDrivenEJBRuntimeMBeanImpl.<init>(MessageDrivenEJBRuntimeMBeanImpl.java:49)
                   at weblogic.ejb.container.manager.MessageDrivenManager.initialize(MessageDrivenManager.java:503)
                   at weblogic.ejb.container.manager.MessageDrivenManager.setup(MessageDrivenManager.java:120)
                   at weblogic.ejb.container.manager.MessageDrivenManager.setup(MessageDrivenManager.java:146)
                   at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.createMDManager(MessageDrivenBeanInfoImpl.java:1481)
                   at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.createDDMDManagers(MessageDrivenBeanInfoImpl.java:1378)
                   at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.onDDMembershipChange(MessageDrivenBeanInfoImpl.java:1285)
                   at weblogic.jms.common.CDS$DD2Listener.listChange(CDS.java:454)
                   at weblogic.jms.common.CDSServer$DDHandlerChangeListener.statusChangeNotification(CDSServer.java:167)
                   at weblogic.jms.dd.DDHandler.callListener(DDHandler.java:318)
                   at weblogic.jms.dd.DDHandler.callListeners(DDHandler.java:344)
                   at weblogic.jms.dd.DDHandler.run(DDHandler.java:282)
                   at weblogic.jms.common.SerialScheduler.run(SerialScheduler.java:37)
                   at weblogic.work.ExecuteRequestAdapter.execute(ExecuteRequestAdapter.java:21)
                   at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
                   at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)
              >
              ####<May 26, 2006 7:42:13 PM EDT> <Info> <EJB> <ist-clft2> <wltest1> <ExecuteThread: '1' for queue: 'default'> <<WLS Kernel>> <> <> <1148686933069> <BEA-010060> <The Message-Driven EJB: RhapsodyMDB has connected/reconnected to the JMS destination: weblogic.jms.DMB_BEAN_QUEUE.></i>
              <b>
              Generally this happend after there were cluster communication issues. Multi-cast messages were lost and our MDB reconnects to the JMS queues as indicated by the below log:</b>
              <i>####<May 30, 2006 5:19:06 PM EDT> <Info> <EJB> <AMTC-RAP-STG3> <RAPBEA1S> <[ACTIVE] ExecuteThread: '54' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1149023946040> <BEA-010060> <The Message-Driven EJB: DataBrokerMDB has connected/reconnected to the JMS destination: weblogic.jms.PHINMS_DMB_QUEUE.>
              ####<May 30, 2006 5:19:10 PM EDT> <Info> <Cluster> <AMTC-RAP-STG3> <RAPBEA1S> <[ACTIVE] ExecuteThread: '22' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1149023950228> <BEA-000112> <Removing RAPBEA3S jvmid:720875810499147484S:cmts-rap-bea3:[7005,-1,-1,-1,-1,-1,-1]:DMBstg:RAPBEA3S from cluster view due to timeout.>
              ####<May 30, 2006 5:19:11 PM EDT> <Info> <Cluster> <AMTC-RAP-STG3> <RAPBEA1S> <[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1149023951009> <BEA-000115> <Lost 2 multicast message(s).>
              ####<May 30, 2006 5:19:11 PM EDT> <Info> <Cluster> <AMTC-RAP-STG3> <RAPBEA1S> <[ACTIVE] ExecuteThread: '22' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1149023951040> <BEA-000111> <Adding RAPBEA3S with ID 720875810499147484S:cmts-rap-bea3:[7005,-1,-1,-1,-1,-1,-1]:DMBstg:RAPBEA3S to cluster: DMBstg_cluster view.></i>
              <b>
              This would cause the queues to eventually have hundreds of consumers and cause the server to fail.
              Basically, it seems as though the MDBs that are supposed to stop continue and attempt to process, while new threads connect to the JMS queues.
              I tried undeploying our application and deleted it from the configuration. However there were consumers still on the respective queues and when I sent messages, I got an error indicating a "Class Not Found exception" due to the fact that the EJB was undeployed and deleted from the configuration, however the MDB component was not and continued to listen for messages. In 8.1.5, as soon as the application was undeployed, there were zero consumers on the JMS queues.
              I have read the posts about a soon to be released fix that would have the MDBs connect only to the queues locally and not go out the the cluster. Would this fix my issue?
              Is there something in the deployment descriptor to configure that will cause it to disconnect and now spawn so many consumers to the JMS queues?
              Why is it that the number of MDB consumers on the JMS queues stayed static in 8.1.5, but they are erratic in 9.1 even after I set our 9.1 server to use the 8.1.5 execute queue policy. Help would be much appreciated.</b>

    I recommend contacting customer support. There's a known problem with MDBs listening to distributed destinations that are local to the same cluster as the MDB, you're problem may be related (the clue is that the stack trace contains jms.dd.DDHandler.callListeners()). The problem is that the MDB connects to all physical queues in a distributed destination rather than just the local queue.
              Tom

  • MDB in a Cluster using Local JMS Queue (not distributed)

              Can I create a MDB that receives messages from a Local JMS Queue (created on each
              node) rather than a distributed queue?
              When I try to deploy such an MDB I get the following exception:
              weblogic.management.DeploymentException: Exception:weblogic.management.ApplicationException:
              activate failed for TestLocalMDBCluster Module: TestLocalMDBCluster Error: Exception
              activating module: EJBModule(TestLocalMDBCluster,status=PREPARED) Unable to deploy
              EJB: AsyncProcessor from TestLocalMDBCluster.jar: [EJB:011046]Unable to create
              EJBRuntimeMBean. javax.management.InstanceAlreadyExistsException: mydomain:ApplicationRuntime=Node2_TestLocalMDBCluster,EJBComponentRuntime=Node2_TestLocalMDBCluster_TestLocalMDBCluster,Location=Node2,Name=Node2_TestLocalMDBCluster_TestLocalMDBCluster_AsyncProcessor_jms/myserver,ServerRuntime=Node2,Type=MessageDrivenEJBRuntime
              at com.sun.management.jmx.RepositorySupport.addMBean(RepositorySupport.java:134)
              at com.sun.management.jmx.MBeanServerImpl.internal_addObject(MBeanServerImpl.java:2371)
              at com.sun.management.jmx.MBeanServerImpl.registerMBean(MBeanServerImpl.java:876)
              at weblogic.management.internal.RemoteMBeanServerImpl.private_registerMBean(RemoteMBeanServerImpl.java:582)
              at weblogic.management.internal.RemoteMBeanServerImpl.registerMBean(RemoteMBeanServerImpl.java:524)
              at weblogic.management.runtime.RuntimeMBeanDelegate.register(RuntimeMBeanDelegate.java:166)
              at weblogic.management.runtime.RuntimeMBeanDelegate.<init>(RuntimeMBeanDelegate.java:122)
              at weblogic.management.runtime.RuntimeMBeanDelegate.<init>(RuntimeMBeanDelegate.java:85)
              at weblogic.ejb20.monitoring.EJBRuntimeMBeanImpl.<init>(EJBRuntimeMBeanImpl.java:33)
              at weblogic.ejb20.monitoring.MessageDrivenEJBRuntimeMBeanImpl.<init>(MessageDrivenEJBRuntimeMBeanImpl.java:30)
              at weblogic.ejb20.deployer.MessageDrivenBeanPoolInfoImpl.initPool(MessageDrivenBeanPoolInfoImpl.java:182)
              at weblogic.ejb20.deployer.MessageDrivenBeanPoolInfoImpl.activate(MessageDrivenBeanPoolInfoImpl.java:245)
              at weblogic.ejb20.deployer.MessageDrivenBeanInfoImpl.activatePoolInfo(MessageDrivenBeanInfoImpl.java:474)
              at weblogic.ejb20.deployer.MessageDrivenBeanInfoImpl.deploy(MessageDrivenBeanInfoImpl.java:440)
              at weblogic.ejb20.deployer.EJBDeployer.activate(EJBDeployer.java:1327) at weblogic.ejb20.deployer.EJBModule.activate(EJBModule.java:610)
              at weblogic.j2ee.J2EEApplicationContainer.activateModule(J2EEApplicationContainer.java:3127)
              at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:2081)
              at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:2062)
              at weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.activateContainer(SlaveDeployer.java:2592)
              at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.doCommit(SlaveDeployer.java:2515)
              at weblogic.management.deploy.slave.SlaveDeployer$Task.commit(SlaveDeployer.java:2317)
              at weblogic.management.deploy.slave.SlaveDeployer.commitUpdate(SlaveDeployer.java:608)
              at weblogic.drs.internal.SlaveCallbackHandler$2.execute(SlaveCallbackHandler.java:35)
              at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
              Is there any way to do this?
              

    I assume you are using queues.
              I truly wonder what you are doing different. Since the
              error is occuring outside of JMS and in the EJB - before JMS is called -
              I suggest posting to the ejb newsgroup.
              Note that yours is a standard use case which distributed destinations
              are actually specifically designed for (if you
              are using customer connection factories, just
              make sure ServerAffinity is enabled on the connection factory to
              ensure that clients always connect to the local physical destination,
              configure the MDB to refer to the JNDI name of the distributed
              destination, and then target the MDB to the cluster - an MDB pool
              will then automatically be dedicated to each physical destination).
              Tom
              Mark Colwell wrote:
              > Nope. It happens every time we try the scenario no matter what the application
              > is or which cluster. It always happens if we try to deploy even just a single
              > MDB (no other beans in the jar) to a cluster where the queue specified in the
              > deployment descripter is a local queue created on each node in the cluster. When
              > the jar is deployed we get the error.
              >
              > We have a strange situation were we really need the queue to be local and not
              > distributed but existing on every node. We can create all the local queues no
              > problem but trying to then deploy the application goes boom.
              >
              > Thanks for the response!
              >
              > Cheers,
              > Mark
              >
              > Tom Barnes <[email protected].bea.com>
              > wrote:
              >
              >>Mark Colwell wrote:
              >>
              >>
              >>>Can I create a MDB that receives messages from a Local JMS Queue (created
              >>
              >>on each
              >>
              >>>node) rather than a distributed queue?
              >>
              >>Yes. In fact this is the most common use case.
              >>
              >>
              >>>When I try to deploy such an MDB I get the following exception:
              >>
              >>I don't recall seeing this exception before. It looks like a naming
              >>conflict - it appears that somehow something is already running with
              >>the same name. Are you somehow deploying the same app twice?
              >>
              >>javax.management.InstanceAlreadyExistsException:
              >>mydomain:ApplicationRuntime=Node2_TestLocalMDBCluster,
              >>EJBComponentRuntime=Node2_TestLocalMDBCluster_TestLocalMDBCluster,
              >>Location=Node2,
              >>Name=Node2_TestLocalMDBCluster_TestLocalMDBCluster_AsyncProcessor_jms/myserver,
              >>ServerRuntime=Node2,
              >>Type=MessageDrivenEJBRuntime
              >>
              >>FYI: As of one or two weeks ago, the MDB section of the
              >>EJB docs has been heavily updated. I highly recommend
              >>reading it.
              >>
              >>
              >>>weblogic.management.DeploymentException: Exception:weblogic.management.ApplicationException:
              >>>activate failed for TestLocalMDBCluster Module: TestLocalMDBCluster
              >>
              >>Error: Exception
              >>
              >>>activating module: EJBModule(TestLocalMDBCluster,status=PREPARED) Unable
              >>
              >>to deploy
              >>
              >>>EJB: AsyncProcessor from TestLocalMDBCluster.jar: [EJB:011046]Unable
              >>
              >>to create
              >>
              >>>EJBRuntimeMBean. javax.management.InstanceAlreadyExistsException: mydomain:ApplicationRuntime=Node2_TestLocalMDBCluster,EJBComponentRuntime=Node2_TestLocalMDBCluster_TestLocalMDBCluster,Location=Node2,Name=Node2_TestLocalMDBCluster_TestLocalMDBCluster_AsyncProcessor_jms/myserver,ServerRuntime=Node2,Type=MessageDrivenEJBRuntime
              >>>at com.sun.management.jmx.RepositorySupport.addMBean(RepositorySupport.java:134)
              >>>at com.sun.management.jmx.MBeanServerImpl.internal_addObject(MBeanServerImpl.java:2371)
              >>>at com.sun.management.jmx.MBeanServerImpl.registerMBean(MBeanServerImpl.java:876)
              >>>at weblogic.management.internal.RemoteMBeanServerImpl.private_registerMBean(RemoteMBeanServerImpl.java:582)
              >>>at weblogic.management.internal.RemoteMBeanServerImpl.registerMBean(RemoteMBeanServerImpl.java:524)
              >>>at weblogic.management.runtime.RuntimeMBeanDelegate.register(RuntimeMBeanDelegate.java:166)
              >>>at weblogic.management.runtime.RuntimeMBeanDelegate.<init>(RuntimeMBeanDelegate.java:122)
              >>>at weblogic.management.runtime.RuntimeMBeanDelegate.<init>(RuntimeMBeanDelegate.java:85)
              >>>at weblogic.ejb20.monitoring.EJBRuntimeMBeanImpl.<init>(EJBRuntimeMBeanImpl.java:33)
              >>>at weblogic.ejb20.monitoring.MessageDrivenEJBRuntimeMBeanImpl.<init>(MessageDrivenEJBRuntimeMBeanImpl.java:30)
              >>>at weblogic.ejb20.deployer.MessageDrivenBeanPoolInfoImpl.initPool(MessageDrivenBeanPoolInfoImpl.java:182)
              >>>at weblogic.ejb20.deployer.MessageDrivenBeanPoolInfoImpl.activate(MessageDrivenBeanPoolInfoImpl.java:245)
              >>>at weblogic.ejb20.deployer.MessageDrivenBeanInfoImpl.activatePoolInfo(MessageDrivenBeanInfoImpl.java:474)
              >>>at weblogic.ejb20.deployer.MessageDrivenBeanInfoImpl.deploy(MessageDrivenBeanInfoImpl.java:440)
              >>>at weblogic.ejb20.deployer.EJBDeployer.activate(EJBDeployer.java:1327)
              >>
              >>at weblogic.ejb20.deployer.EJBModule.activate(EJBModule.java:610)
              >>
              >>>at weblogic.j2ee.J2EEApplicationContainer.activateModule(J2EEApplicationContainer.java:3127)
              >>>at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:2081)
              >>>at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:2062)
              >>>at weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.activateContainer(SlaveDeployer.java:2592)
              >>>at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.doCommit(SlaveDeployer.java:2515)
              >>>at weblogic.management.deploy.slave.SlaveDeployer$Task.commit(SlaveDeployer.java:2317)
              >>>at weblogic.management.deploy.slave.SlaveDeployer.commitUpdate(SlaveDeployer.java:608)
              >>>at weblogic.drs.internal.SlaveCallbackHandler$2.execute(SlaveCallbackHandler.java:35)
              >>>at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197) at
              >>
              >>weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
              >>
              >>>Is there any way to do this?
              >>
              >
              

  • Single MDB on a clustered JMS queues(2)

    I have 2 JMS servers in a cluster and each server has a JMS queue, which forms the distributed destination. Now I need a MDB to listen on both these queues. Is it possible?
    Thanks
    -Ankur

    Yes - thats the usual purpose of distributed queues, to allow consumers to consume from the distributed queue (wherever its hosted).
    Though distributed destinations are JMS provider specific so do check your providers documentation on using distributed queues. In some providers, like ActiveMQ, distributed queues look and act just like regular queues so they just work from inside a JMS client or MDB.
    James
    http://logicblaze.com/

Maybe you are looking for

  • New iPad 2 does not look as good as old ipad?

    Just got my iPad 2 and first thing I notice is the screen does not look as good as my old iPad.  There's a difference in brightness (dimmer) but that's fine, I just increase the brightness.  However, even after adjusting to approx same level of brigh

  • Purge a queue with JAVA API

    Hi, Is it possible to purge a queue with the JAVA API ? I have not found anything ... I am also trying to browse archived messages (state 2), the "browseQueue" method does only browse the ready messages (state 0). Is it possible to browse archived me

  • Using jasper Reports with Tomcat5.5

    hi , i am trying to use Jasper Reports with Tomcat 5.5 but not able to do it. i have written a simple java program to read data from MySql database and generate a report in PDF format. the good thing is that when i am doing this as a independent java

  • Regarding business and technical system

    hi Iam having a doubt, i want to create a business and technical system in SLD . But already a business and technical system was defined in my SAP 200 client , Is it possible for me to create one more business system in the same SAP200 client

  • JBO framework - BUG ! very URGENT !!!!

    Hi JDev-Team, there seems to be a bug in the JBO implementation of the JDev 3.1. I have used the JboHtml Beans to generate a JSP application, but because the beans are still young and didn't face some of my problems, I make some changes to extended t