MDB leaving messages pending in a topic

I have a case in production where the MDB
          Pools Beans in use count is -2
          The topic which it subscribes to is having alot of message pending back
          up on our topic.
          Also the bean does not seem to undeploy so I can get rid of it as a
          consumer.
          I am also posting in EJB news group
          Weblogic 7.0 sp1
          

Well Raskol, you said that you have a (may be more) DurableSubscriber created for a Topic and consuming the messages asynchronously through the onMessage method. Now the question is how to know whether all the messages posted to that Topic are delivered to you so as to enable you to stop the DurableSubscriber from further listening.
My question to you is when do you decide (and convince your self) that no more messages are available on that Topic.
The answer may be to timeout after a predetermined value. But then, what is the guarantee that no more messages will be posted subsequently to this Topic.
Any way, this can not be accomplished as per the suggestion from 'turbobutton', since JMS does not allow for synchronous reception, once you declare an asynchronous listener.
So, try restarting a global timer with each message reception. On crossing a predetermined value, call subscriber.close method. If this is not supported by your provider, try calling connection.stop (but, mind you, this call stops reception by all consumers created on this connection).
-kris teja

Similar Messages

  • Bridge leaves messages pending?

              We are using the jms_xa_adp.rar bridge to transfer messages from one JMS topic
              to another (from a topic in a server in a cluster, to a topic in a standalone
              admin server), WLS 7 GA build 180709 + CR082386; with "exactly once" semantics.
              It all works fine but the messages & bytes pending on the source WL JMS Topic
              keep going up. This doesn't happen with our own (application) durable subscriptions.
              Is the bridge commiting the transaction correctly, or is this just a counting
              error? If so, why doesn't it apply to our own subscriptions?
              The connection factory on both the source and destination have all 3 transaction
              boxes ticked: usertransaction enabled, XAConnection factory enabled, Server side
              xa enabled.
              The filestores at each end have different names.
              The source and destination domains are both called mydomain.
              The source WL server and destination WL server have different names.
              The source JMS server and destination JMS server (within WL) have different names.
              The transaction statistics in the servername -> monitoring -> JTA look OK: there
              aren't lots of transactions left open. (I guess they'd time out).
              The stats are generally quite important to us; we do use them to look for potential
              problems; we plan to build them into production alert systems too.
              If you need config.xmls I can post them in a case.
              Any ideas?
              Many thanks,
              Jeremy.
              

    Hi Jeremy,
              The topic pending statistics are composed of the union of all messages waiting on
              subscribers.
              These statistics won't decrement for a particular message until all subscribers have
              acknowledged/committed
              their own copy of that message. Since your pending stats are not going down,
              I suspect you may have a left-over inactive subscriber, likely a durable subscription,
              that is unrelated to the bridge's subscription to the topic. This "ghost"
              subscriber will keep accumulating messages even if it is not calling receive. You can
              check
              the console to see if one is there, or use the JMSStats.java program available on
              dev2dev.bea.com.
              Tom
              Jeremy Watson wrote:
              > We are using the jms_xa_adp.rar bridge to transfer messages from one JMS topic
              > to another (from a topic in a server in a cluster, to a topic in a standalone
              > admin server), WLS 7 GA build 180709 + CR082386; with "exactly once" semantics.
              > It all works fine but the messages & bytes pending on the source WL JMS Topic
              > keep going up. This doesn't happen with our own (application) durable subscriptions.
              >
              > Is the bridge commiting the transaction correctly, or is this just a counting
              > error? If so, why doesn't it apply to our own subscriptions?
              >
              > The connection factory on both the source and destination have all 3 transaction
              > boxes ticked: usertransaction enabled, XAConnection factory enabled, Server side
              > xa enabled.
              >
              > The filestores at each end have different names.
              > The source and destination domains are both called mydomain.
              > The source WL server and destination WL server have different names.
              > The source JMS server and destination JMS server (within WL) have different names.
              >
              > The transaction statistics in the servername -> monitoring -> JTA look OK: there
              > aren't lots of transactions left open. (I guess they'd time out).
              >
              > The stats are generally quite important to us; we do use them to look for potential
              > problems; we plan to build them into production alert systems too.
              >
              > If you need config.xmls I can post them in a case.
              >
              > Any ideas?
              >
              > Many thanks,
              > Jeremy.
              

  • WebLogic 9.2MP2.Messages Pending topic count JMS display negative value

    on admin console. Services -> Messaging -> JMS Modules in JMS System Modules -> JMS queue name -> Monitoring role tab .
    I use WebLogic 9.2MP2 version . I found that JMS destination summaize page, Messages Pending topic count display negative value.
    What is mean negative value ? or that bug of WebLogic9.2 MP2.
    Thank you.
    BR,

    A negative value indicates a bug -- quite likely in internal statistics gathering code itself. I don't know if the problem has been addressed in later MPs or later versions.
    Tom

  • Enforce to send the messages pending, after the Time To Deliver is changed

    JMS Queue is being used to send data from our database to the headquarters’ database.
              Our organization considers using "Time To Deliver Override" during the scheduled downtime of the headquarters’ database. For example, when our admin is informed by the headquarters' admin that downtime is scheduled, our admin can change "Time To Deliver Override" from -1 to 1200000 (20 hrs) in WebLogic Consol. Then, when the database is back, our admin will reset the value to -1.
              It is simple and quick. However, I realized that the messages pending will not processed for the “Time To Deliver” which was configured when the message was added.
              Can WebLogic enforce to send the messages pending, after the "Time To Deliver Override" is changed back to -1?

    A few related points:
              - I think 9.x may provide mbean/JMX/administrative options to change time-to-deliver in existing messages - but, even if it does, this seems unwieldy.
              - 9.x also provides options for adminstratrively pausing delivery of a destinations messages, and/or pausing MDBs.
              - I think the "time-to-deliver override" also supports setting absolute times via cron like schedules (eg - you can configure it so messages are born at a specific time.)
              - Another option is to introduce an intermediate destination and configure a "messaging bridge" to forward messages between them. When messaging needs to be pause, administratively stop the bridge.
              Tom

  • Problem having a MDB connect to a remote JMS Topic

    Hi, I am having problem making an MDB listen to a remote JMS Topic. Here's the
    scenario:
    Two Weblogic servers (6.1 sp3) running on the same machine (W2K) - they arenot part of a cluster......both are independent servers
    One WLS is listening on port 7001 (Domain=WLSDomain1; Target=Server1) and thesecond one on 8001 (Domain=WLSDomain2; Target=Server1 {This is not a typo, the
    target is Server1})
    In WLSDomain1/Server1, I have a JMS Topic defined as follows (in its config.xmlfile):
    <JMSServer Name="EventServicesJMSServer"
    Store="ESJMSServerFileStore" Targets="Server1">
    <JMSTopic JNDIName="jms/EventServicesTopic7001"
    Name="jms/EventServicesTopic7001" StoreEnabled="true"/>
    </JMSServer>
    In WLSDomain2/Server1, I have a JMS Topic defined as follows (in config.xmlfile):
    <JMSServer Name="EventServicesJMSServer"
    Store="ESJMSServerFileStore" Targets="Server1">
    <JMSTopic JNDIName="jms/EventServicesTopic8001"
    Name="jms/EventServicesTopic8001" StoreEnabled="true"/>
    </JMSServer>
    An MDB is deployed on WLSDomain1/Server1 with the following elements in itsweblogic-jar.xml file (I haven't included the entire weblogic-jar.xml file, only
    the relevant info):
    <message-driven-descriptor>
    <pool>
    <max-beans-in-free-pool>1</max-beans-in-free-pool>
    <initial-beans-in-free-pool>0</initial-beans-in-free-pool>
    </pool>
    <!-- This MDB is defined to listen to a Topic in another WLS Server running
    on port 8001 -->
    <destination-jndi-name>jms/EventServicesTopic8001</destination-jndi-name>
    <initial-context-factory>weblogic.jndi.WLInitialContextFactory</initial-context-factory>
    <provider-url>t3://localhost:8001</provider-url>
    <connection-factory-jndi-name>weblogic/jms/ConnectionFactory</connection-factory-jndi-name>
    </message-driven-descriptor>
    An MDB is deployed on WLSDomain2/Server1 with the following elements in itsweblogic-jar.xml file (I haven't included the entire weblogic-jar.xml file, only
    the relevant info):
    <message-driven-descriptor>
    <pool>
    <max-beans-in-free-pool>1</max-beans-in-free-pool>
    <initial-beans-in-free-pool>0</initial-beans-in-free-pool>
    </pool>
    <!-- This MDB is defined to listen to a Topic in another WLS Server running
    on port 7001 -->
    <destination-jndi-name>jms/EventServicesTopic7001</destination-jndi-name>
    <initial-context-factory>weblogic.jndi.WLInitialContextFactory</initial-context-factory>
    <provider-url>t3://localhost:7001</provider-url>
    <connection-factory-jndi-name>weblogic/jms/ConnectionFactory</connection-factory-jndi-name>
    </message-driven-descriptor>
    After starting both the WLS servers, I've verified that they have made connectionsto each other; the Topics are defined in the JNDI tree of the respective servers;
    and the MDBs have been deployed in their respective servers. But the MDBs can't
    see/connect to their respective JMS destination. Here's the error message and
    stack trace from one the WLS server's trace file:
    <Apr 17, 2003 4:58:25 PM GMT> <Warning> <EJB> <The Message-Driven EJB: com.manu.
    common.server.objectServices.CSMEventListenerMDB_8001 is unable to connect to
    the JMS destination: jms/EventServicesTopic8001. 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:
    weblogic.jms.common.JMSException: Connection not found
    at weblogic.jms.dispatcher.InvocableManager.invocableFind(InvocableManager.java:121)
    at weblogic.jms.dispatcher.Request.wrappedFiniteStateMachine(Request.java:509)
    at weblogic.jms.dispatcher.DispatcherImpl.dispatchSync(DispatcherImpl.java:272)
    at weblogic.jms.client.JMSConnection.sessionCreate(JMSConnection.java:268)
    at weblogic.jms.client.JMSConnection.createTopicSession(JMSConnection.java:245)
    at weblogic.ejb20.internal.JMSConnectionPoller.createJMSConnection(JMSConnectionPoller.java:522)
    at weblogic.ejb20.internal.JMSConnectionPoller.connectToJMS(JMSConnectionPoller.java:418)
    at weblogic.ejb20.internal.JMSConnectionPoller.trigger(JMSConnectionPoller.java:348)
    at weblogic.time.common.internal.ScheduledTrigger.executeLocally(ScheduledTrigger.java:238)
    at weblogic.time.common.internal.ScheduledTrigger.execute(ScheduledTrigger.java:229)
    at weblogic.time.server.ScheduledTrigger.execute(ScheduledTrigger.java:6
    9)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    Have you run into a similar problem? Any suggestion?
    Thanks,
    Farook

    Hi, I am having problem making an MDB listen to a remote JMS Topic. Here's the
    scenario:
    Two Weblogic servers (6.1 sp3) running on the same machine (W2K) - they arenot part of a cluster......both are independent servers
    One WLS is listening on port 7001 (Domain=WLSDomain1; Target=Server1) and thesecond one on 8001 (Domain=WLSDomain2; Target=Server1 {This is not a typo, the
    target is Server1})
    In WLSDomain1/Server1, I have a JMS Topic defined as follows (in its config.xmlfile):
    <JMSServer Name="EventServicesJMSServer"
    Store="ESJMSServerFileStore" Targets="Server1">
    <JMSTopic JNDIName="jms/EventServicesTopic7001"
    Name="jms/EventServicesTopic7001" StoreEnabled="true"/>
    </JMSServer>
    In WLSDomain2/Server1, I have a JMS Topic defined as follows (in config.xmlfile):
    <JMSServer Name="EventServicesJMSServer"
    Store="ESJMSServerFileStore" Targets="Server1">
    <JMSTopic JNDIName="jms/EventServicesTopic8001"
    Name="jms/EventServicesTopic8001" StoreEnabled="true"/>
    </JMSServer>
    An MDB is deployed on WLSDomain1/Server1 with the following elements in itsweblogic-jar.xml file (I haven't included the entire weblogic-jar.xml file, only
    the relevant info):
    <message-driven-descriptor>
    <pool>
    <max-beans-in-free-pool>1</max-beans-in-free-pool>
    <initial-beans-in-free-pool>0</initial-beans-in-free-pool>
    </pool>
    <!-- This MDB is defined to listen to a Topic in another WLS Server running
    on port 8001 -->
    <destination-jndi-name>jms/EventServicesTopic8001</destination-jndi-name>
    <initial-context-factory>weblogic.jndi.WLInitialContextFactory</initial-context-factory>
    <provider-url>t3://localhost:8001</provider-url>
    <connection-factory-jndi-name>weblogic/jms/ConnectionFactory</connection-factory-jndi-name>
    </message-driven-descriptor>
    An MDB is deployed on WLSDomain2/Server1 with the following elements in itsweblogic-jar.xml file (I haven't included the entire weblogic-jar.xml file, only
    the relevant info):
    <message-driven-descriptor>
    <pool>
    <max-beans-in-free-pool>1</max-beans-in-free-pool>
    <initial-beans-in-free-pool>0</initial-beans-in-free-pool>
    </pool>
    <!-- This MDB is defined to listen to a Topic in another WLS Server running
    on port 7001 -->
    <destination-jndi-name>jms/EventServicesTopic7001</destination-jndi-name>
    <initial-context-factory>weblogic.jndi.WLInitialContextFactory</initial-context-factory>
    <provider-url>t3://localhost:7001</provider-url>
    <connection-factory-jndi-name>weblogic/jms/ConnectionFactory</connection-factory-jndi-name>
    </message-driven-descriptor>
    After starting both the WLS servers, I've verified that they have made connectionsto each other; the Topics are defined in the JNDI tree of the respective servers;
    and the MDBs have been deployed in their respective servers. But the MDBs can't
    see/connect to their respective JMS destination. Here's the error message and
    stack trace from one the WLS server's trace file:
    <Apr 17, 2003 4:58:25 PM GMT> <Warning> <EJB> <The Message-Driven EJB: com.manu.
    common.server.objectServices.CSMEventListenerMDB_8001 is unable to connect to
    the JMS destination: jms/EventServicesTopic8001. 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:
    weblogic.jms.common.JMSException: Connection not found
    at weblogic.jms.dispatcher.InvocableManager.invocableFind(InvocableManager.java:121)
    at weblogic.jms.dispatcher.Request.wrappedFiniteStateMachine(Request.java:509)
    at weblogic.jms.dispatcher.DispatcherImpl.dispatchSync(DispatcherImpl.java:272)
    at weblogic.jms.client.JMSConnection.sessionCreate(JMSConnection.java:268)
    at weblogic.jms.client.JMSConnection.createTopicSession(JMSConnection.java:245)
    at weblogic.ejb20.internal.JMSConnectionPoller.createJMSConnection(JMSConnectionPoller.java:522)
    at weblogic.ejb20.internal.JMSConnectionPoller.connectToJMS(JMSConnectionPoller.java:418)
    at weblogic.ejb20.internal.JMSConnectionPoller.trigger(JMSConnectionPoller.java:348)
    at weblogic.time.common.internal.ScheduledTrigger.executeLocally(ScheduledTrigger.java:238)
    at weblogic.time.common.internal.ScheduledTrigger.execute(ScheduledTrigger.java:229)
    at weblogic.time.server.ScheduledTrigger.execute(ScheduledTrigger.java:6
    9)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    Have you run into a similar problem? Any suggestion?
    Thanks,
    Farook

  • Problem having a MDB connect to a remote JMS Topic (WLS 6.1 sp3)

              Hi, I am having problem making an MDB listen to a remote JMS Topic. Here's the
              scenario:
              > Two Weblogic servers (6.1 sp3) running on the same machine (W2K) - they are
              not part of a cluster......both are independent servers
              > One WLS is listening on port 7001 (Domain=WLSDomain1; Target=Server1) and the
              second one on 8001 (Domain=WLSDomain2; Target=Server1 {This is not a typo, the
              target is Server1})
              > In WLSDomain1/Server1, I have a JMS Topic defined as follows (in its config.xml
              file):
              <JMSServer Name="EventServicesJMSServer"
              Store="ESJMSServerFileStore" Targets="Server1">
              <JMSTopic JNDIName="jms/EventServicesTopic7001"
              Name="jms/EventServicesTopic7001" StoreEnabled="true"/>
              </JMSServer>
              > In WLSDomain2/Server1, I have a JMS Topic defined as follows (in config.xml
              file):
              <JMSServer Name="EventServicesJMSServer"
              Store="ESJMSServerFileStore" Targets="Server1">
              <JMSTopic JNDIName="jms/EventServicesTopic8001"
              Name="jms/EventServicesTopic8001" StoreEnabled="true"/>
              </JMSServer>
              > An MDB is deployed on WLSDomain1/Server1 with the following elements in its
              weblogic-jar.xml file (I haven't included the entire weblogic-jar.xml file, only
              the relevant info):
              <message-driven-descriptor>
              <pool>
              <max-beans-in-free-pool>1</max-beans-in-free-pool>
              <initial-beans-in-free-pool>0</initial-beans-in-free-pool>
              </pool>
              <!-- This MDB is defined to listen to a Topic in another WLS Server running
              on port 8001 -->
              <destination-jndi-name>jms/EventServicesTopic8001</destination-jndi-name>
              <initial-context-factory>weblogic.jndi.WLInitialContextFactory</initial-context-factory>
              <provider-url>t3://localhost:8001</provider-url>
              <connection-factory-jndi-name>weblogic/jms/ConnectionFactory</connection-factory-jndi-name>
              </message-driven-descriptor>
              > An MDB is deployed on WLSDomain2/Server1 with the following elements in its
              weblogic-jar.xml file (I haven't included the entire weblogic-jar.xml file, only
              the relevant info):
              <message-driven-descriptor>
              <pool>
              <max-beans-in-free-pool>1</max-beans-in-free-pool>
              <initial-beans-in-free-pool>0</initial-beans-in-free-pool>
              </pool>
              <!-- This MDB is defined to listen to a Topic in another WLS Server running
              on port 7001 -->
              <destination-jndi-name>jms/EventServicesTopic7001</destination-jndi-name>
              <initial-context-factory>weblogic.jndi.WLInitialContextFactory</initial-context-factory>
              <provider-url>t3://localhost:7001</provider-url>
              <connection-factory-jndi-name>weblogic/jms/ConnectionFactory</connection-factory-jndi-name>
              </message-driven-descriptor>
              > After starting both the WLS servers, I've verified that they have made connections
              to each other; the Topics are defined in the JNDI tree of the respective servers;
              and the MDBs have been deployed in their respective servers. But the MDBs can't
              see/connect to their respective JMS destination. Here's the error message and
              stack trace from one the WLS server's trace file:
              <Apr 17, 2003 4:58:25 PM GMT> <Warning> <EJB> <The Message-Driven EJB: com.manu.
              common.server.objectServices.CSMEventListenerMDB_8001 is unable to connect to
              the JMS destination: jms/EventServicesTopic8001. 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:
              weblogic.jms.common.JMSException: Connection not found
              at weblogic.jms.dispatcher.InvocableManager.invocableFind(InvocableManager.java:121)
              at weblogic.jms.dispatcher.Request.wrappedFiniteStateMachine(Request.java:509)
              at weblogic.jms.dispatcher.DispatcherImpl.dispatchSync(DispatcherImpl.java:272)
              at weblogic.jms.client.JMSConnection.sessionCreate(JMSConnection.java:268)
              at weblogic.jms.client.JMSConnection.createTopicSession(JMSConnection.java:245)
              at weblogic.ejb20.internal.JMSConnectionPoller.createJMSConnection(JMSConnectionPoller.java:522)
              at weblogic.ejb20.internal.JMSConnectionPoller.connectToJMS(JMSConnectionPoller.java:418)
              at weblogic.ejb20.internal.JMSConnectionPoller.trigger(JMSConnectionPoller.java:348)
              at weblogic.time.common.internal.ScheduledTrigger.executeLocally(ScheduledTrigger.java:238)
              at weblogic.time.common.internal.ScheduledTrigger.execute(ScheduledTrigger.java:229)
              at weblogic.time.server.ScheduledTrigger.execute(ScheduledTrigger.java:6
              9)
              at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
              Have you run into a similar problem? Any suggestion?
              Thanks,
              Farook
              

    FAQ. Naming conflict. To interop between domains make sure:
              All WL Servers are named differently.
              All JMS Servers are named differently.
              All JMS Stores are named differently.
              Tom
              Farook Wadia wrote:
              > Hi, I am having problem making an MDB listen to a remote JMS Topic. Here's the
              > scenario:
              >
              >
              >>Two Weblogic servers (6.1 sp3) running on the same machine (W2K) - they are
              >
              > not part of a cluster......both are independent servers
              >
              >
              >>One WLS is listening on port 7001 (Domain=WLSDomain1; Target=Server1) and the
              >
              > second one on 8001 (Domain=WLSDomain2; Target=Server1 {This is not a typo, the
              > target is Server1})
              >
              >
              >>In WLSDomain1/Server1, I have a JMS Topic defined as follows (in its config.xml
              >
              > file):
              >
              > <JMSServer Name="EventServicesJMSServer"
              > Store="ESJMSServerFileStore" Targets="Server1">
              > <JMSTopic JNDIName="jms/EventServicesTopic7001"
              > Name="jms/EventServicesTopic7001" StoreEnabled="true"/>
              > </JMSServer>
              >
              >>In WLSDomain2/Server1, I have a JMS Topic defined as follows (in config.xml
              >
              > file):
              >
              > <JMSServer Name="EventServicesJMSServer"
              > Store="ESJMSServerFileStore" Targets="Server1">
              > <JMSTopic JNDIName="jms/EventServicesTopic8001"
              > Name="jms/EventServicesTopic8001" StoreEnabled="true"/>
              > </JMSServer>
              >
              >>An MDB is deployed on WLSDomain1/Server1 with the following elements in its
              >
              > weblogic-jar.xml file (I haven't included the entire weblogic-jar.xml file, only
              > the relevant info):
              >
              > ..
              > <message-driven-descriptor>
              > <pool>
              > <max-beans-in-free-pool>1</max-beans-in-free-pool>
              > <initial-beans-in-free-pool>0</initial-beans-in-free-pool>
              > </pool>
              > <!-- This MDB is defined to listen to a Topic in another WLS Server running
              > on port 8001 -->
              > <destination-jndi-name>jms/EventServicesTopic8001</destination-jndi-name>
              > <initial-context-factory>weblogic.jndi.WLInitialContextFactory</initial-context-factory>
              > <provider-url>t3://localhost:8001</provider-url>
              > <connection-factory-jndi-name>weblogic/jms/ConnectionFactory</connection-factory-jndi-name>
              > </message-driven-descriptor>
              > ...
              >
              >
              >>An MDB is deployed on WLSDomain2/Server1 with the following elements in its
              >
              > weblogic-jar.xml file (I haven't included the entire weblogic-jar.xml file, only
              > the relevant info):
              >
              > ..
              > <message-driven-descriptor>
              > <pool>
              > <max-beans-in-free-pool>1</max-beans-in-free-pool>
              > <initial-beans-in-free-pool>0</initial-beans-in-free-pool>
              > </pool>
              > <!-- This MDB is defined to listen to a Topic in another WLS Server running
              > on port 7001 -->
              > <destination-jndi-name>jms/EventServicesTopic7001</destination-jndi-name>
              > <initial-context-factory>weblogic.jndi.WLInitialContextFactory</initial-context-factory>
              > <provider-url>t3://localhost:7001</provider-url>
              > <connection-factory-jndi-name>weblogic/jms/ConnectionFactory</connection-factory-jndi-name>
              > </message-driven-descriptor>
              > ...
              >
              >
              >>After starting both the WLS servers, I've verified that they have made connections
              >
              > to each other; the Topics are defined in the JNDI tree of the respective servers;
              > and the MDBs have been deployed in their respective servers. But the MDBs can't
              > see/connect to their respective JMS destination. Here's the error message and
              > stack trace from one the WLS server's trace file:
              >
              > <Apr 17, 2003 4:58:25 PM GMT> <Warning> <EJB> <The Message-Driven EJB: com.manu.
              > common.server.objectServices.CSMEventListenerMDB_8001 is unable to connect to
              > the JMS destination: jms/EventServicesTopic8001. 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:
              > weblogic.jms.common.JMSException: Connection not found
              > at weblogic.jms.dispatcher.InvocableManager.invocableFind(InvocableManager.java:121)
              > at weblogic.jms.dispatcher.Request.wrappedFiniteStateMachine(Request.java:509)
              > at weblogic.jms.dispatcher.DispatcherImpl.dispatchSync(DispatcherImpl.java:272)
              > at weblogic.jms.client.JMSConnection.sessionCreate(JMSConnection.java:268)
              > at weblogic.jms.client.JMSConnection.createTopicSession(JMSConnection.java:245)
              > at weblogic.ejb20.internal.JMSConnectionPoller.createJMSConnection(JMSConnectionPoller.java:522)
              > at weblogic.ejb20.internal.JMSConnectionPoller.connectToJMS(JMSConnectionPoller.java:418)
              > at weblogic.ejb20.internal.JMSConnectionPoller.trigger(JMSConnectionPoller.java:348)
              > at weblogic.time.common.internal.ScheduledTrigger.executeLocally(ScheduledTrigger.java:238)
              > at weblogic.time.common.internal.ScheduledTrigger.execute(ScheduledTrigger.java:229)
              > at weblogic.time.server.ScheduledTrigger.execute(ScheduledTrigger.java:6
              > 9)
              > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
              > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
              >
              >
              > Have you run into a similar problem? Any suggestion?
              >
              > Thanks,
              >
              > Farook
              

  • Messages posted to JMS Topic from OSB disappear even when not subscribed

    Hi,
    We are using an OSB service to publish xml messages to a weblogic JMS Topic. Message is persistent. There are no consumers for the Topic. There is no expiration limit set.
    We are able to see the message from OSB reach the Topic. It stays in the Topic for a few seconds and then disappears.
    The State of the message shows up as "send transaction" on the Topic in the weblogic console. And it shows up as Message Pending instead of Message Current.
    Is there a way to ensure that the message stays in the Topic till it is consumed by a subscriber?
    Thanks,
    Senthil

    Hi Senthil,
    The topic persists messages only for subscribers, if there is no subscribers, then it is not necessary to persist the message.
    This is the same case for you as well, as there are no subscribers the message gets deleted.
    So first you need to have atleast one subscriber first (A dummy proxy that is reading from the topic) and then post to the topic (through your OSB service or hermes jms tool, etc .. ) . Then if you try to go and check the topic you will be able to see the message.
    Hope this information helps.
    Thanks,
    Patrick
    Edited by: Patrick Taylor on May 13, 2011 2:40 PM

  • What is Message Pending?

              What does the Message Pending statistic in weblogic console mean? Does that mean
              the message is not delivered to the topic or does it mean that the message was
              not consumed?
              

    On a topic, all messages are counted as pending.
              A message is deleted on a topic once all subscribers
              that are due to receive the message have acknowledged/committed.
              Siri Nivasam wrote:
              > What does the Message Pending statistic in weblogic console mean? Does that mean
              > the message is not delivered to the topic or does it mean that the message was
              > not consumed?
              >
              >
              

  • I can record voice memos fine using the built-in iPhone 4 mic.  And my Bluetooth headset (Jawbone Era) works fine when I leave messages on voice mail systems etc. when calling on the iPhone 4.  However, I cannot record voice memos with my Bluetooth mic.

    I can record voice memos fine using the built-in iPhone 4 mic.  And my Bluetooth headset (Jawbone Era) works fine when I leave messages on voice mail systems etc. when calling on the iPhone 4, so it appears my headset mic is fine.  I can also use voice activated dialing, although it fails miserably interpreting numbers.  However, I cannot record voice memos with my Bluetooth mic.   I just get barely audible static.  Any suggestions?   Thanks.

    Hello, did you ever get an answer to your question? I just picked up a Jawbone Era and using on an iPhone 4s running 5.0.1. Seems to work fine on regular calls, but not on the built in Voice memos application. It worked fine on my older Jawbone Icon, but haven't tested on the 4s or iOS 5.
    Thanks!

  • Unity Issue in leaving message

    Hi Guys,
    i have a problem with unity connection 8.5
    I configured one users with voice mail box.
    I performed registration by entering name,pin...etc
    When i call and forwarded to voice mail system prompt me to leave a mmessage but when i leave message no MWI on and no message in user mail box.
    If i call MWI DN from phone i have light on/off.
    Any Idea?
    tjx

    If the issue is with all the users then it could be an issue with the locale also. Make sure the version of the locale matches the version of Unity Connection server installed.
    http://www.cisco.com/web/software/282074314/49311/851su1cucrm.pdf
    Regards
    Manjunath

  • Voicemail not working - Callers can't leave messages

    Hi,
    I've had my iPhone a couple of weeks but i've only just realised that my voicemail isn't working. I've done the password set-up and can access my voicemail settings by dialling and holding 1 but people calling my phone do not get the opportunity t leave messages. The phone just rings and rings until the line eventually goes dead. Is there a setting in the phone that i've missed?
    BTW, i'ma UK O2 iPhone user.
    Thanks,
    Neil

    Neil Atkinson,
    O2 in the UK supports visual voicemail.
    I would recommend contacting O2 and seeing if they can reset or reprovision your voicemail.
    Thank you,
    Nathan C.

  • Messages in a Queue/Topic

    hi
    How do i check if there are any messages in the Queue/topic. i am using Platform edition
    Thanks

    Download an install software for browsing queues.
    Not quite sure what "Platform" edition is. If your JMS provider is MQ, use MQ Explorer / rfhutil, otherwise I find Hermes very useful

  • Messages stuck in "Messages Pending" column of a JMS queue.

    Hi
    Is there any way to retrive the messages which are stuck in "Messages Pending" column of a JMS queue.
    weblogic 8.1 SP5 version.
    Thanks

    there is some possibility to prevent the Pending Message or to automatically purge them on WL 9.x or WL 10.x?WebLogic JMS provides "message management" console, scripting, and mbean features to view and manipulate messages in a destination. You can search for "message management" in this newsgroups for more information - here's a good post: Re: WLST Script Help It also provides features for automatically moving problem messages to an error destination, expiring old messages, and/or deleting messages thave have exceeded a configured redelivery limit. I suggest reading through our feature list in the documentation, see "Value-Added WebLogic Server JMS Features" in the [ Information Roadmap | http://download.oracle.com/docs/cd/E15523_01/web.1111/e14529/messaging.htm#sthref23 ].
    Note that it's usually best to try and understand why messages are marked pending and fix the underlying reason instead of purging such messages. Messages are normally pending for a valid reason, and most use cases can't tolerate arbitrarily losing a message.
    Tom

  • JMS adapter could not receive message from Tibco EMS topic

    I'm trying to consume message from tibco EMS topic using Oracle SOA JMS adapter. Can anyone please let me know the steps to do this. Appreciate your help.
    Thanks,
    SB

    Increase Log level for cube.activation to debug and check the logs by stopping & starting the activation agent(I mean Retire and activate the process) .. It should give a clue on what's happening..

  • My problem in Weblogic and Message Driven Bean for Topic

    Hello to all
    I used this page (http://www.ecomputercoach.com/index.php/component/content/article/90-weblogic-jms-queue-setup.html?showall=1)
    for setup JMS Server, Queue, Connection Factory on Weblogic Server
    and I created a Message Driven Bean ,I used those Queue , and all things was OK
    But I wanted to setup a Topic and use it in this manner
    I created a Topic like previous steps for setup Queue
    (http://www.ecomputercoach.com/index.php/component/content/article/90-weblogic-jms-queue-setup.html?showall=1)
    Except in Step 3  ,I selected Topic instead of Queue
    then I created a Message Driven Bean in JDeveloper , my Message Driven Bean is like this:
    @MessageDriven(mappedName = "jndi.testTopic")
    <p>
    public class aliJMS1_MessageDrivenEJBBean implements MessageListener {
        public void onMessage(Message message) {
          if(message instanceof TextMessage ){
            TextMessage txtM=(TextMessage) message;
            try{
              System.out.println(txtM.getText());
            }catch(Exception ex){
              ex.printStackTrace();
    </p>
    When I deploy the Application , Weblogic shows me this error:
    +<Aug 30, 2011 11:32:28 AM PDT> <Warning> <EJB> <BEA-010061> <The Message-Driven EJB: aliJMS1_MessageDrivenEJBBean is unable to connect to th+
    e JMS destination: jndi.testTopic. The Error was:
    +[EJB:011011]The Message-Driven EJB attempted to connect to the JMS destination with the JNDI name: jndi.testTopic. However, the object with+
    the JNDI name: jndi.testTopic is not a JMS destination, or the destination found was of the wrong type (Topic or Queue).>
    And when I send message to the topic The Message Dirven Bean dosen't work
    But when I create an ordinary Java application like this (it uses that Tpoic) :
    import java.io.*;
    import java.util.*;
    import javax.transaction.*;
    import javax.naming.*;
    import javax.jms.*;
    public class TopicReceive implements MessageListener
        public final static String JNDI_FACTORY =
            "weblogic.jndi.WLInitialContextFactory";
        public final static String JMS_FACTORY =
            "jndi.testConnectionFactory";
        public final static String TOPIC = "jndi.testTopic";
        private TopicConnectionFactory tconFactory;
        private TopicConnection tcon;
        private TopicSession tsession;
        private TopicSubscriber tsubscriber;
        private Topic topic;
        private boolean quit = false;
        public void onMessage(Message msg) {
            try {
                String msgText;
                if (msg instanceof TextMessage) {
                    msgText = ((TextMessage)msg).getText();
                } else {
                    msgText = msg.toString();
                System.out.println("JMS Message Received: " + msgText);
                if (msgText.equalsIgnoreCase("quit")) {
                    synchronized (this) {
                        quit = true;
                        this.notifyAll(); 
            } catch (JMSException jmse) {
                jmse.printStackTrace();
        public void init(Context ctx, String topicName) throws NamingException,
                                                               JMSException {
            tconFactory = (TopicConnectionFactory)ctx.lookup(JMS_FACTORY);
            tcon = tconFactory.createTopicConnection();
            tsession = tcon.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
            topic = (Topic)ctx.lookup(topicName);
            tsubscriber = tsession.createSubscriber(topic);
            tsubscriber.setMessageListener(this);
            tcon.start();
        public void close() throws JMSException {
            tsubscriber.close();
            tsession.close();
            tcon.close();
        public static void main(String[] args) throws Exception {
            InitialContext ic = getInitialContext("t3://127.0.0.1:7001");
            TopicReceive tr = new TopicReceive();
            tr.init(ic, TOPIC);
            System.out.println("JMS Ready To Receive Messages (To quit, send a \"quit\" message).");        
            synchronized (tr) {
                while (!tr.quit) {
                    try {
                        tr.wait();
                    } catch (InterruptedException ie) {
            tr.close();
        private static InitialContext getInitialContext(String url) throws NamingException {
            Hashtable env = new Hashtable();
            env.put(Context.INITIAL_CONTEXT_FACTORY, JNDI_FACTORY);
            env.put(Context.PROVIDER_URL, url);
            env.put("weblogic.jndi.createIntermediateContexts", "true");
            return new InitialContext(env);
    It's OK and shows messages When I send message to the Topic
    Now I want know why the Message Driven Bean doesn't work for those Topic
    I want create a Message Driven Bean for Topic in the same way I created for Queue
    I don't know what is problem , please advice me
    Thanks

    Could you try adding a activationconfig to the message-driven bean, for example,
    @MessageDriven(mappedName = "jndi.testTopic", activationConfig = {
            @ActivationConfigProperty(propertyName = "destinationName", propertyValue = "jndi.testTopic"),
            @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Topic")
    public class aliJMS1_MessageDrivenEJBBean implements MessageListener {
        public void onMessage(Message message) {
          if(message instanceof TextMessage ){
            TextMessage txtM=(TextMessage) message;
            try{
              System.out.println(txtM.getText());
            }catch(Exception ex){
              ex.printStackTrace();
    }

Maybe you are looking for