Consumer number for a JMS queue continues to grow

          I am using WLS 7.0 SP2. I have a JMS Queue and number of consumers continues to
          grow.
          Is there any way to stop it from growing? If not, should I be concerned about
          the memory usage by those consumers?
          Thanks.
          Rick
          

          Tom,
          You are right on JMS resources. We found that developer didn't close JMS session
          and conneciton which caused the memory leak. Now it has being running more than
          10 hours without crashing.
          Thanks.
          Rick
          Tom Barnes <[email protected]> wrote:
          >
          >Rick Chang wrote:
          >> I am using WLS 7.0 SP2. I have a JMS Queue and number of consumers
          >continues to
          >> grow.
          >>
          >> Is there any way to stop it from growing?
          >
          >No.
          >
          >> If not, should I be concerned about
          >> the memory usage by those consumers?
          >
          >Before jumping to conclusions though, make sure
          >that you are looking at the right statistic, there
          >are three for consumer count:
          > current -- active consumer count
          > high -- highest active consumer count
          > total -- total consumers ever created
          > (ever increasing by definition)
          >
          >If you are looking at "current"
          >the statistics point to a likely memory/resource leak.
          >Perhaps some part of your application is failing to close
          >its JMS resources when it is finished with them.
          >
          >>
          >> Thanks.
          >>
          >> Rick
          >
          

Similar Messages

  • How to pick(or consume) messages from Woblogic JMS Queue only when DB is UP

    Hi,
    I have a requirement to pick(or consume) messages from Woblogic JMS Queue only when DB is UP.
    When DB is down, messages should remain in queue. When DB is up, messaged should be picked on scheduler basis.
    We are using SOA suite 11g(BPEL or mediator,JMS Adapter).
    What is the best way to achive it in SOA 11g.
    I tried, but when I setup a Consumer, there is no control over there. Messages are picked automatically.
    Please advise.
    Thanks
    Ram

    something wrong with the design.
    why dont you set the retry options in the fault policies?
    So if the external DB is down you could reprocess them after specified interval or make it go to human retry queue.
    Then you could use SOA api to retry all of them.
    --Prasanna                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Using JNDI Provider for Oracle JMS Queue

    Hello,
    I created a JMS Queue in Oracle 9.2.0.1 and would like
    a Java client to receive events from the Queue. I am
    not running Oracle9iAS. I have access to WebLogic server
    7.0 which is also a JNDI provider. Is there a sample code
    that shows the steps on how to go about this.
    thanks very much for any pointers.

    To define an Enterprise Message Source for AS JMS and OJMS in BAM, see Chapter 3 in the BAM Architect's User Guide.
    Specifying Settings for Oracle (AS JMS and OJMS)
    Settings for Oracle (AS JMS and OJMS) include:
    ■ Initial Context Factory.
    For 10.1.3: oracle.j2ee.rmi.RMIInitialContextFactory
    For 10.1.2: com.evermind.server.rmi.RMIInitialContextFactory
    ■ JNDI Service Provider URL. For standalone use oc4j: ormi://machine_name/
    where machine_name is the OC4J installed host, and for production use Application Server: opmn:ormi://<machine_name>:<opmn request port>:home where machine_name is the application server installed host, opmn request port could be found from looking at opmn.xml in <App server install location>/opmn/conf
    ■ TopicConnectionFactory Name.
    java:comp/resource/BAMTTT/TopicConnectionFactories/bam_ttq_tab
    ■ Topic Name. java:comp/resource/BAMTTT/Topics/bam_ttq
    ■ JMS Message Type. TextMessage.
    ■ Durable Subscriber Name. BAMFilteredSubscription
    ■ Message Selector. Message selector, for example, BAMFilter='true'
    ■ Client ID. ClientID
    You can also refer to:
    http://www.oracle.com/technology/products/integration/bam/10.1.3/TechNotes/TechNote_BAM_AQ_Configuration.pdf
    Regards, Stephen

  • Reg: Consuming missing data by JMS queue.

    Hi,
    System1 is configured to send XML messages though JMS queue to my WL-server. But some times i have observed missing of message consumption at my server end.
    what may be the reason? How can i consume the missing XML messages? is there any place where missing data will be stored?
    Please advise...!
    Regards,
    Sk

    When I meant there is an expiry time set with the message. It means the message is received by your WLS, but you are not able to see it because the message has expired.
    You can only view the messages that are not expired.
    If you think you are not even receiving the message, may be you can enable debugging on the WLS JMS and see if you are able to get more details in the server logs.
    Please refer - http://download.oracle.com/docs/cd/E12840_01/wls/docs103/jms_admin/troubleshoot.html#wp1128871
    Thanks,
    Patrick

  • Specifying message delivery time for a JMS queue

              Guys,
              Can anyone tell me as to if it possible to specify message delivery from a JMS
              queue to a listening MDB at a specified interval in weblogic . I mean I need
              to post messages to the JMS queue but I need the messages to be delivered to the
              MDB's after lets say 30 seconds .
              How can I do it using the weblogic console ?? Which property do i need to change
              Please advise.
              Thanks
              Kar
              

    Hi,
              Message delivery time can be set programmatically,
              or through a console override. In your case, set it via
              the console with the value "30000".
              This feature has been available since 6.1, and is a
              JMS extension.
              Here is the link to the 8.1 documentation:
              http://edocs.bea.com/wls/docs81/jms/implement.html#1235262
              And for a full list of WL JMS features, see here:
              http://edocs.bea.com/wls/docs81/jms/intro.html#jms_features
              Tom
              kar piyush wrote:
              > Guys,
              >
              > Can anyone tell me as to if it possible to specify message delivery from a JMS
              > queue to a listening MDB at a specified interval in weblogic . I mean I need
              > to post messages to the JMS queue but I need the messages to be delivered to the
              > MDB's after lets say 30 seconds .
              >
              > How can I do it using the weblogic console ?? Which property do i need to change
              > ?
              >
              > Please advise.
              >
              > Thanks
              >
              > Kar
              >
              >
              

  • OSB: Configuring business service for JMS Queue

    Hi,
    I want to produce messages into a JMS queue from OSB proxy service. I have created business service for the JMS queue. I also want to return Status code=200, Status Messgae=Success if the message is successfully inserted into the Queue. Kindly let me know how to do this.
    I tried using Service Callout to call the business service but it is not allowing me to use it because my business service is a one-way operation. So, i tried with Publish activity but my doubt is how and where to configure request payload for the publish activity. I could not find any.
    And how do i know if the message is successfully inserted so that i can send the Status=200 back to the calling proxy service.
    Kindly help in this regard.
    Thanks in advance.

    As suggested, use QoS=ExactlyOnce as RoutingOption within the Publish to business service. If there was any error it will send the flow to error handler where you can do a reply with failure to return HTTP status code=500 to the caller of the proxy service.
    If you do a reply with success the caller will receive HTTP status code=200

  • Could multiple consumers attach to a JMS queue simultaneously?

    Could a JMS message queue have multiple consumers simultaneously? If can, how to implement that? My experiences showed that at any time there is only one consumer allowed for a JMS message queue. If a subsequent consumer tried to attach to the same queue, the following exception would be thrown out:
    =====================================================
    javax.jms.ResourceAllocationException: [C4073]: A JMS destination limit was reached. Too many Subscribers/Receivers for Queue : PhysicalQueue user=guest, broker=CTPLIT015PC:7676(1462)======================================================
    On the contrary, definitely multiple consumers can be attached to the same Topic.

    Well I need tor receive a message only once and this is why I would still have to use a queue. I have heard selector are slow so I do not want to use them.
    Now the problem is since I am using onMessage event; the message push is like 150 message/second. While the message dequeue process always stuck up at 14 message/second.
    I really need to increase the speed some good number may be 50 messages/second. I need to know whether I need to setup a threadmanager (with threadpool) in onMessage event, or I need to create multiple queue session.
    If I create multiple queue session what would be the behavior of queue?
    My main concern is to get this number up.
    regards
    shantanu

  • IDoc to internal XI JMS queue

    Hi All,
    I am trying to send an IDoc from R/3 to an internal XI JMS queue.  I want to test the JMS adapter by sending the IDoc to an XI created JMS queue.  How do I create a JMS queue within XI that can receive my IDoc from R/3?  I am looking at the receiver determination using JMS adapter but don't know what transport protocol to use to create the queue. 
    I am already able to receive an IDoc into XI and dump it to the OS as an XML file, so I know the connection works between the two systems.  All I need is to create a generic JMS queue, so I shouldn't have to import any drivers into the J2EE like is necessary for MQSeries.
    Thanks for any help!!
    Adam Iding

    Hi Adam,
    You will have to install the Driver for the JMS queue you are trying to connect to on XI server.
    For info on how to install external drivers,
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/3867a582-0401-0010-6cbf-9644e49f1a10
    Also, if you are using a SONIQMQ or WEbspehere MQ , then the exact details to be entered are available on the JMS adapter itself. You will just have to change the IP, port no , Queue details. The driver details are all available on JMS adapter itself.
    But, if you are using someother JMS service, then you will have to configur your Queue as a Genric Access or using a JNDI access.
    Check this link for the same,
    http://help.sap.com/saphelp_nw04/helpdata/en/10/b1b4c8575a6e47954ad63438d303e4/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c1/739c4186c2a409e10000000a155106/content.htm
    Regards,
    Bhavesh

  • BPEL not able to read JMS Queue defined on a remote Application Server

    We are trying to access a JMS queue (defined on an Oracle AS different from the SOA Suite AS) through BPEL and read the payload. When I am trying to read the JMS queue, somehow it is trying to get the queue information from my local application server and not going to the remote one.
    I have done the following setups on my local SOA Suite Enterprise manager for the queue connection factory. The adapter name is "eis/jms/XXXQueueAdapter"
    connectionFactoryLocation: jms/ESBSubscriberQueue
    factoryProperties:
    java.naming.factory.initial=oracle.j2ee.rmi.RMIInitialContextFactory;java.naming.provider.url=opmn.ormi://hostname:port; java.naming.security.principal=oc4jadmin;java.naming.security.credentials=Password
    Where "hostname:port" is for the remote Application Server.
    On the BPEL side, I have created a connection for the Remote server in the Enterprise Manager. Then I have created a partnerlink using this connection. The OEMS is "File/Memory". The Destination Name is the Queue name on the Remote AS which I can browse. The JNDI name is "eis/jms/XXXQueueAdapter" (Which is the name of the connection I created on my local). Somehow when the BPEL process is run, it is trying to look for the JMS Queue on my local server.
    I have also used the Third Party option instead of Oracle AS with the same configuration and it does not work either.
    Any help would be really appreciated.
    Asif Hussain

    Got a solution.

  • JMS queue| failover test question

    HI gurus,
    We are planning a failover test to migrate from prod to contingency environment.
    What happens to transactions that may be sitting in the JMS queue when the prod jvms are stopped? Is there a way to migrate them to the cont jvms?We are using jdbc stores and the supporting tables for both prod and cont will exist in the oracle DB, but with different names. Since the CONT jvms will be using different tables for the JMS queues, is there a way to migrate those queued transactions from prod to the CONT side?
    Details of environment
    1) OS for App Server
    Linux x86-64.
    Linux va2xpre03.gdsososos.com 2.6.18-128.1.6.el5 #1 SMP Tue Mar 24 12:05:57 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
    2) App Server type and version
    WLS 10.3.0
    JDK version
    jrockit_160_11
    3)
    Clustered and it is a Prod environment.
    Details:
    UI cluster has 5 servers. There are 4 jvms in each server. Altogether there are 20 jvms in UI cluster
    Recon cluster has 3 servers. There are 4 jvms in each server. Altogether there are 12 jvms in Recon cluster
    regards,
    Thiago Leoncio Guimaraes

    A common practice for handling this type of fail-over is to ensure that the main environment's domain name, server names, store, transaction logs (default store), and JMS configuration all all the same in the contigency environment (basically, differences, if any, are confined to things like URLs and Data Source configuration of DB location). Recovery is accomplished in the fail-over environment by copying over each server's default file store, as well as its JDBC store backing tables, prior to booting the fail-over servers.
    Transaction logs don't need to be copied over if you don't use XA (JTA) in your applications...

  • 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

  • JMS queue consumer challenge

    Hi there,
              I have met a pretty challenging problem in JMS queue consumer and
              would like to know if any JMS lovers in the group know about it.
              We have queue receiver listening on queue which contains a number of
              mugs.
              Once a msg is received (onMessage returns), the msg is handed over to
              a worker thread from a thread pool.
              Essentially there are two parts of the problem:
              1. We want kind of flow control - only x number of msg can be
              processed at a given time. This can be resolved by using semaphore.
              However, there might be better solution out there. Anyhow, this is
              less an issue than the second part -
              2. As we know client_acknowledge happens at the session level:
              Acknowledging a consumed message automatically acknowledges the
              receipt of all messages that have been consumed by its session. For
              example, if a message consumer consumes ten messages and then
              acknowledges the fifth message delivered, all ten messages are
              acknowledged. 
              -- this is the problem -- we want to acknowledge each msg
              individually so that only the processed msg is acknowledged although
              there are x number of msg being retrieved. By doing that we won't lost
              any msg in case the JMS client crashes.
              It is a challenge, isn't it? Might well not be one for you, if you
              know the trick. If you do, could you share with us? Thanks a lot.
              Mike
              

    Just to be clear, I favor (2), where each worker thread has its own session and
              consumer.
              This naturally throttles, as there are only as many outstanding messages as
              worker-threads.
              BTW, be aware that it is against spec, and dangerous, to call acknowledge()
              outside of
              onMessage() - as this multi-threads the Session and Session's are not thread
              safe.
              Tom
              Tom Barnes wrote:
              > Actually you both are correct. The ack behavior is configurable on the
              > connection factory via the "AcknowledgePolicy", where the default is
              > what the spec requires (ack-all). Prior to 6.1
              > the behavior was what one would expect (ack-before).
              >
              > As for how to solve the problem at hand. I can think of three approaches:
              >
              > (1) use the current async consumer but set the ack-policy
              > to ack-before, and defer acknowledging a msg until all msgs before
              > it have finished their processing
              >
              > (2) use multiple synchronous consumers, one consumer per defered msg
              >
              > (3) use a single synchronous consumer, but dequeue transactionally,
              > one transaction per msg. suspend the transaction, then have
              > the worker thread resume the transaction once it finishes processing
              > the message and call commit. (Take care that the default
              > tran timeout is 30 seconds.)
              >
              > Shean-Guang Chang wrote:
              >
              > > Just to correct one assumption. Ack the fifth message will not ack message
              > > received after that (e.g. message 6, 7, 8, etc...). At least not WLS JMS.
              > > If this is not true for you please give details of your client code and
              > > version of WLS JMS you have. Thanks!
              > >
              > > "Mike" <[email protected]> wrote in message
              > > news:[email protected]...
              > > > Hi there,
              > > >
              > > > I have met a pretty challenging problem in JMS queue consumer and
              > > > would like to know if any JMS lovers in the group know about it.
              > > >
              > > > We have queue receiver listening on queue which contains a number of
              > > > mugs.
              > > > Once a msg is received (onMessage returns), the msg is handed over to
              > > > a worker thread from a thread pool.
              > > >
              > > > Essentially there are two parts of the problem:
              > > >
              > > > 1. We want kind of flow control - only x number of msg can be
              > > > processed at a given time. This can be resolved by using semaphore.
              > > > However, there might be better solution out there. Anyhow, this is
              > > > less an issue than the second part -
              > > >
              > > > 2. As we know client_acknowledge happens at the session level:
              > > > Acknowledging a consumed message automatically acknowledges the
              > > > receipt of all messages that have been consumed by its session. For
              > > > example, if a message consumer consumes ten messages and then
              > > > acknowledges the fifth message delivered, all ten messages are
              > > > acknowledged.
              > > > -- this is the problem -- we want to acknowledge each msg
              > > > individually so that only the processed msg is acknowledged although
              > > > there are x number of msg being retrieved. By doing that we won't lost
              > > > any msg in case the JMS client crashes.
              > > >
              > > > It is a challenge, isn't it? Might well not be one for you, if you
              > > > know the trick. If you do, could you share with us? Thanks a lot.
              > > >
              > > > Mike
              

  • Program to consume the JMS queue

    Hi, I' m new to WebLogic stuff. Got a question over here. There's a JMS queue that we want to have a program (not those built in stuff from weblogic) to see if they re consumed. Similar stuff would be displayed like
              <b>ABCD Queue consumers: 1 / consumers high: 0 ...messages: 10 / messages received: 19........</b>
              as if we get into the console page to check the JMS queues.
              I've got no clues yet. We don't wanna check the number of files from C:\Original and the destination folder C:\Destin......if so, it'd be an easy task but that s not what we wanted....

    As with any WebLogic subsystem, you can get all statistics programmatically using standard JMX mbeans (see the JMX developer guide). The console uses these beans, as does the WLST scripting language. In addition, there are helper methods in the public weblogic.jms.extensions package that simplify access to these beans.
              I think there are various mbean and WLST samples on dev2dev, including one called "JMSStats.java". Note that JMSStats.java, and some other samples were written for versions 8.1 and earlier. They use deprecated methods that don't have access to all runtime statistics for 9.0 and later versions.
              Tom

  • How to configure a error queue for weblogic jms topic

    Hi guys.
    I want to configure a error queue for weblogic jms topic. Wanted: The message goes to error destination when messages have expired or reached their redelivery limit.
    1. using jms transport configure proxy service:
    Retry Count :3
    Retry Interval:10
    Error Destination: ErrorTopic
    Expiration Policy: Redirect
    I tried use the proxy service to consume message from the jms topic . and generation an error in the proxy message flow. But the message didn't goes into the error topic.
    Any suggestions for this topic? Can anyone provide some helps or any useful links.
    Thanks in advance.
    Mingzhuang

    Mingzhuang
    I want to configure a error queue for weblogic jms topic. Wanted: The message goes to error destination when messages have expired or reached their redelivery limit.
    1. using jms transport configure proxy service:
    Retry Count :3
    Retry Interval:10
    Error Destination: ErrorTopic
    Expiration olicy: RedirectUnlike File/SFTP, JMS proxy service definition does not have the concept of Error Destination. To accomplish similar functionality go to JMSQ on (for which proxy is configured) server console (http://localhost:7001/console) and configure the Error Destination. Following URL will help in how to configure JMS Q.
    http://edocs.bea.com/wls/docs103/ConsoleHelp/taskhelp/jms_modules/queues/ConfigureQueues.html
    http://edocs.bea.com/wls/docs103/ConsoleHelp/taskhelp/jms_modules/queues/ConfigureQueueDeliveryFailure.html
    I tried use the proxy service to consume message from the jms topic . and generation an error in the proxy message flow. But the message didn't goes into the error topic.If every thing is configured as per above step, then the after retries, the weblogic server will put the message into JMS topic configured. Your proxy will receive from this topic.
    Let me know if we are not on same page.
    Cheers
    Manoj

  • Exception in the XML consuming from JMS Queue

    In the CEP application we have a business flow like we want to consume an xml message from the JMS queue.
    While CEP is consuming the message sometimes we are getting an exception.
    But this issue occurs rarely and we have no idea about the root cause.
    I am attaching the trace of this exception.
    It seems this exception is from weblogic server itself.
    Also this could be an interface problem, since its showing a casting error.
    The Bug description:
    When we send a meter event through SOAP UI in the CEP visualizer when the event is consumed CEP also shows this exception.
    This may not halt the analysis process of the event, but this unwanted piece of code/lines have to be avoided.
    <OutageEvent xmlns:ns1="http://www.accenture.com/INDE"; xmlns:wsa="http://www.w3.org/2005/08/addressing"; xmlns="http://www.accenture.com/INDE"><meterId xmlns="">203</meterId><outageType xmlns="">Permanent Outage</outageType><premiseId xmlns="">1111</premiseId><timeEvent xmlns="">2010-07-30T</timeEvent><heName xmlns="">SAMPLEHE</heName></OutageEvent>
    <Jul 30, 2010 11:01:50 AM IST> <Error> <JMSAdapter> <BEA-2041118> <Setup for JMS task for destination JMS_OI_MeterState_MeterEvent_Queue at provider t3://10.212.182.30:8002 failed with exception: weblogic.jms.common.JMSException: [JMSClientExceptions:055039]A system error has occurred. The error is java.lang.ClassCastException: weblogic.workarea.StringWorkContext
    weblogic.jms.common.JMSException: [JMSClientExceptions:055039]A system error has occurred. The error is java.lang.ClassCastException: weblogic.workarea.StringWorkContext
    at weblogic.jms.client.JMSSession.handleException(JMSSession.java:3121)
    at weblogic.jms.client.JMSConsumer.receiveInternal(JMSConsumer.java:650)
    at weblogic.jms.client.JMSConsumer.receive(JMSConsumer.java:526)
    at weblogic.jms.client.WLConsumerImpl.receive(WLConsumerImpl.java:184)
    at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveMessage(AbstractPollingMessageListenerContainer.java:405)
    at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:308)
    at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:261)
    at com.bea.core.asyncbeans.internal.DefaultMessageListenerContainer.receiveAndExecute(DefaultMessageListenerContainer.java:59)
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:982)
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:974)
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:876)
    at com.bea.core.asyncbeans.internal.WorkManagerTaskExecutor$1.run(WorkManagerTaskExecutor.java:38)
    at weblogic.work.commonj.CommonjWorkManagerImpl$WorkWithListener.run(CommonjWorkManagerImpl.java:196)
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused By: java.lang.ClassCastException: weblogic.workarea.StringWorkContext
    at weblogic.rjvm.MsgAbbrevInputStream.readContext(MsgAbbrevInputStream.java:243)
    at weblogic.workarea.spi.WorkContextEntryImpl.<init>(WorkContextEntryImpl.java:47)
    at weblogic.workarea.spi.WorkContextEntryImpl.readEntry(WorkContextEntryImpl.java:97)
    at weblogic.workarea.WorkContextLocalMap.receiveRequest(WorkContextLocalMap.java:151)
    at weblogic.jms.common.JMSWorkContextHelper.readWorkContext(JMSWorkContextHelper.java:89)
    at weblogic.jms.common.MessageImpl.readExternal(MessageImpl.java:2275)
    at weblogic.jms.common.TextMessageImpl.readExternal(TextMessageImpl.java:354)
    at weblogic.jms.common.JMSConsumerReceiveResponse.readExternal(JMSConsumerReceiveResponse.java:133)
    at weblogic.messaging.dispatcher.DispatcherObjectHandler.readResponse(DispatcherObjectHandler.java:154)
    at weblogic.messaging.dispatcher.DispatcherProxy.unmarshalResponse(DispatcherProxy.java:269)
    at weblogic.messaging.dispatcher.DispatcherProxy.dispatchSyncTranFuture(DispatcherProxy.java:134)
    at weblogic.messaging.dispatcher.DispatcherWrapperState.dispatchSyncTran(DispatcherWrapperState.java:338)
    at weblogic.messaging.dispatcher.DispatcherWrapperState.dispatchSyncNoTran(DispatcherWrapperState.java:386)
    at weblogic.jms.dispatcher.DispatcherAdapter.dispatchSyncNoTran(DispatcherAdapter.java:59)
    at weblogic.jms.client.JMSSession.receiveMessage(JMSSession.java:886)
    at weblogic.jms.client.JMSConsumer.receiveInternal(JMSConsumer.java:647)
    at weblogic.jms.client.JMSConsumer.receive(JMSConsumer.java:526)
    at weblogic.jms.client.WLConsumerImpl.receive(WLConsumerImpl.java:184)
    at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveMessage(AbstractPollingMessageListenerContainer.java:405)
    at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:308)
    at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:261)
    at com.bea.core.asyncbeans.internal.DefaultMessageListenerContainer.receiveAndExecute(DefaultMessageListenerContainer.java:59)
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:982)
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:974)
    at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:876)
    at com.bea.core.asyncbeans.internal.WorkManagerTaskExecutor$1.run(WorkManagerTaskExecutor.java:38)
    at weblogic.work.commonj.CommonjWorkManagerImpl$WorkWithListener.run(CommonjWorkManagerImpl.java:196)
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    >
    11:01:50,548 INFO MeterInputConverter : 81 - Accepted the input xml :<?xml version="1.0" encoding="UTF-8" ?><MeterEvent xmlns:inde="http://www.accenture.com/INDE"; xmlns:wsa="http://www.w3.org/2005/08/addressing"; xmlns="http://www.accenture.com/INDE">;
    <meterId xmlns="">103</meterId>
    <outageType xmlns="">RESUME</outageType>
    <premiseId xmlns="">1111</premiseId>
    <timeEvent xmlns="">2010-07-30T</timeEvent>
    <lastGasp xmlns="">false</lastGasp>
    <heName xmlns="">CURRENT</heName>
    </MeterEvent>

    Hi,
    I will forward this to the weblogic JMS team, to see if they have any insight for us.
    Regards,
    Seth

Maybe you are looking for

  • Adobe Bridge CS4 crashes when trying to refresh preview for PDF output

    Ever since installing ML, I cannot create contact sheets in Adobe Bridge CS4, which I was able to do before installing ML. As soon as I press "Refresh Preview," Bridge crashes with the following report (the same thing happens if I just try to Save th

  • XML file download to presentation server.

    Hi Experts, Here I have a question regarding file download to desktop. I have a report which will generate xml file. Once it is generated i would like to download to desktop. I tried with 'GUI_DOWNLOAD', but it is not working. It means the file is do

  • Is that my condo buzzer?

    to relive nelson brann's quite humorous thread of several years ago while he was awaiting the delivery of his new G5, i'm awaiting my new dell monitor. could that be my condo buzzer???? | | | | | it's only the ringing in my head, methinks.

  • SapScript in ECC 6.0

    Hello, Guys I'm having a doubt, I created a form SapScript in ECC 6.0 for direct printing of Tickets for F110, with a copy of the standard did J_1B_BOLETO_ITAU. But do not print the bar code. I tell you that the SapScript no longer works in version E

  • Unable to save .tif as jpeg in 8/bit mode & RGB

    Helloooo,      I created a panorama from a couple of raw files and saved it as a .tif.  The file is 257mb and is 3200 by 2780 (I know it's long )  I'm in 8bit mode using RGB color.  When I try to save it the only options are  dic psb raw and tif.  Is