Clustered Durable MDB on Clustered JMS

Hi all
          we have an exception when trying deploy durable MDB in a cluster (WLS 7.0 SP3)
          the cluster have 2 instances. When we depploy Jar on cluster, the first MDB connect successfully, but on the other instances of cluster failed. It's possible couse use the same CLientID?
          This is the exception :
          <7-lug-05 10.54.23 CEST> <Warning> <EJB> <010061> <The Message-Driven EJB: Subsciber2 is unable to connect to the JMS destination: jms/myTopic. 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.InvalidClientIDException: Client id, null, was rejected by the leader
          how can resolve it, using the same client-id?

Hi all
          we have an exception when trying deploy durable MDB in a cluster (WLS 7.0 SP3)
          the cluster have 2 instances. When we depploy Jar on cluster, the first MDB connect successfully, but on the other instances of cluster failed. It's possible couse use the same CLientID?
          This is the exception :
          <7-lug-05 10.54.23 CEST> <Warning> <EJB> <010061> <The Message-Driven EJB: Subsciber2 is unable to connect to the JMS destination: jms/myTopic. 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.InvalidClientIDException: Client id, null, was rejected by the leader
          how can resolve it, using the same client-id?

Similar Messages

  • MDB and Clustering

              Hi All,
              We have MDB's and JMS Servers. We are trying to cluster. JMS Server can only be
              targetted on the one server in the cluster.
              Is that also true for MDB's?
              If we target MDB's (mdbejb.jar) to the second server in the cluster we get an
              error saying unable to lookup the queue etc.
              Are we missing something here or MDB's shld also be targetted on the same wls
              instance where JMS Servers are?
              Thanks for the help.
              -v
              

    I am sorry for misguiding ealrier but one has to add the following in the
              MDB's DD for connecting to a destination on another JMS server.
              <weblogic-enterprise-bean>
              <ejb-name>exampleMessageDriven1</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>myjms.quotes</destination-jndi-name>
              <provider-url>http://172.17.25.205:7591</provider-url> <!-- This is the
              most imp one - give the url of the actual jms server in the cluster -->
              <connection-factory-jndi-name>InstinetTxConnectionFactory</connection-factor
              y-jndi-name> <!-- This is might be also imp one if its a foreign JMS
              provider -->
              </message-driven-descriptor>
              <jndi-name>examplesMessageDriven1</jndi-name>
              </weblogic-enterprise-bean>
              The entire dtd is available at :
              http://www.beasys.com/servers/wls600/dtd/weblogic-ejb-jar.dtd
              <!--StartFragment--><!ELEMENT message-driven-descriptor (
              pool?,
              destination-jndi-name?,
              initial-context-factory?,
              provider-url?,
              connection-factory-jndi-name?,
              jms-polling-interval-seconds?,
              jms-client-id?
              >
              regards,
              Sabha
              "Sabha" <[email protected]> wrote in message news:[email protected]...
              > Its not necessary for the MDBs to be deployed on the same server as JMS
              > server.
              > Make sure the connection factory used inside MDB is available on all the
              > servers in the cluster.
              >
              > -Sabha
              >
              > "Vimban" <[email protected]> wrote in message
              > news:[email protected]...
              > >
              > > Hi All,
              > >
              > > We have MDB's and JMS Servers. We are trying to cluster. JMS Server can
              > only be
              > > targetted on the one server in the cluster.
              > >
              > > Is that also true for MDB's?
              > >
              > > If we target MDB's (mdbejb.jar) to the second server in the cluster we
              get
              > an
              > > error saying unable to lookup the queue etc.
              > >
              > >
              > > Are we missing something here or MDB's shld also be targetted on the
              same
              > wls
              > > instance where JMS Servers are?
              > >
              > > Thanks for the help.
              > >
              > > -v
              > >
              >
              >
              

  • Clustering and multi dimensional clustering?

    hi friends,
    why do we need Clustering and multi dimensional Clustering in bi 7.0?
    can i get any scenerio?
    Regards,
    suneel.

    Hi Suneel,
    You can get some good info here: http://help.sap.com/saphelp_nw70/helpdata/en/79/401442499cca7ee10000000a1550b0/frameset.htm
    http://help.sap.com/saphelp_nw70/helpdata/en/02/5cf74153b6ca17e10000000a155106/content.htm
    Hope this helps...

  • Replicating a non-clustered VM to a clustered server

    hi,
    I am trying to setup a VM Replication from non-clustered VM to a clustered server, everything is going smooth but at when it start replication it come with error messag below is snap of the error message

    it is not issue with access it was related to the conflict in port on IIS, i changed the port number other than 80, & it worked fine,
    Please refer this article for more details
    http://blogs.technet.com/b/filecab/archive/2013/10/15/windows-server-2012-r2-resolving-port-conflict-with-iis-websites-and-work-folders.aspx

  • Distributed transaction (JDBC+JMS), durable MDB, NullPointException in weblogic

              I am cross posting to transaction & jms, sorry if this is a mistake...
              We have a setup where JMS messages are published to a topic. The posting is transacted
              (XA) and is a consequence of a CMP update so JMS and JDBC (Oracle OCI) cooperate
              to commit, or not.
              Most of the time, transactions issue just a few JMS messages but at least once
              a day, we issue hundred of thousands of such messages (max has been about 600000
              but typically 300000).
              Our setup is four instances of Weblogic 6.1SP3 (two clustered, two not), the topic
              is on one of them (all 3 other servers connect to that instance to publish) and
              we have a couple MDBs deployed only on the instance that has the JMSServer and
              they all listen to the local topic. The transactionnal settings of these MDBs
              is CMT and XA (because the beans will write to the DB). Furthermore, these MDB
              have been setup to be durable. One of these is just a logger MDB with 20 instances
              max.
              It worked fine for a couple weeks but we have been running into problems for the
              past two days. All of a sudden, the server no longer responds to weblogic.ADMIN
              PING. The server log indicates the following error repetitively (MB of logs just
              of this)
              ####<13 nov. 03 23:15:41 CET> <Alert> <JMS> <XXXXXXX> <send1> <ExecuteThread:
              '32' for queue: 'default'> <> <> <040060> <JMSServer "OutputServerSend1", unhandled
              exception during rollback, java.lang.NullPointerException.>
              java.lang.NullPointerException
              at weblogic.jms.backend.BEDurableTopicMessageInfo.rollbackReceiveTran(BEDurableTopicMessageInfo.java:352)
              at weblogic.jms.backend.BEXATranEntrySubscribe.startRollback(BEXATranEntrySubscribe.java:145)
              at weblogic.jms.backend.BEXATranEntry.execute(BEXATranEntry.java:127)
              at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
              The logger MDB seems to have started processing the JMS messages. This means that
              the transaction that included the JMS message publishing must have commited. Unfortunatly,
              there are only 20 log lines before the server restart, so the server must have
              hanged although it did commit the messages processed by the logger since the log
              messages are apparently not repeated. I have no idea why. I think this is coherant
              with the fact that exception above seems to relate to subscribers.
              When we restart the server, the topic gets purged and seem to be processed (we
              have not found a way to verify that each message has been processed but it's looking
              good)
              Any ideas ?
              Thanks
              Philippe
              

              I am cross posting to transaction & jms, sorry if this is a mistake...
              We have a setup where JMS messages are published to a topic. The posting is transacted
              (XA) and is a consequence of a CMP update so JMS and JDBC (Oracle OCI) cooperate
              to commit, or not.
              Most of the time, transactions issue just a few JMS messages but at least once
              a day, we issue hundred of thousands of such messages (max has been about 600000
              but typically 300000).
              Our setup is four instances of Weblogic 6.1SP3 (two clustered, two not), the topic
              is on one of them (all 3 other servers connect to that instance to publish) and
              we have a couple MDBs deployed only on the instance that has the JMSServer and
              they all listen to the local topic. The transactionnal settings of these MDBs
              is CMT and XA (because the beans will write to the DB). Furthermore, these MDB
              have been setup to be durable. One of these is just a logger MDB with 20 instances
              max.
              It worked fine for a couple weeks but we have been running into problems for the
              past two days. All of a sudden, the server no longer responds to weblogic.ADMIN
              PING. The server log indicates the following error repetitively (MB of logs just
              of this)
              ####<13 nov. 03 23:15:41 CET> <Alert> <JMS> <XXXXXXX> <send1> <ExecuteThread:
              '32' for queue: 'default'> <> <> <040060> <JMSServer "OutputServerSend1", unhandled
              exception during rollback, java.lang.NullPointerException.>
              java.lang.NullPointerException
              at weblogic.jms.backend.BEDurableTopicMessageInfo.rollbackReceiveTran(BEDurableTopicMessageInfo.java:352)
              at weblogic.jms.backend.BEXATranEntrySubscribe.startRollback(BEXATranEntrySubscribe.java:145)
              at weblogic.jms.backend.BEXATranEntry.execute(BEXATranEntry.java:127)
              at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
              The logger MDB seems to have started processing the JMS messages. This means that
              the transaction that included the JMS message publishing must have commited. Unfortunatly,
              there are only 20 log lines before the server restart, so the server must have
              hanged although it did commit the messages processed by the logger since the log
              messages are apparently not repeated. I have no idea why. I think this is coherant
              with the fact that exception above seems to relate to subscribers.
              When we restart the server, the topic gets purged and seem to be processed (we
              have not found a way to verify that each message has been processed but it's looking
              good)
              Any ideas ?
              Thanks
              Philippe
              

  • Clustered WebLogic MDB receiving multiple messages...

    Hi all,
    I have a JMS WebLogic clustering problem.
    First, let me describe the problem.  The MDB of my application (it's a simple test application to get the clustering kinks worked out) is listening to a Topic and when I publish a message to the Topic the MDB is receiving the message multiple times.  I have a max of 4 managed servers in my cluster and when they are all running, each MDB on each managed server gets the message 4 times.  If I shut down two of the managed servers, then each MDB on each of the two running managed servers get the message 2 times.  So my MDB is receiving the message multiple times equal to the number of manged servers I have running in my cluster.
    So my question is what is the proper way to configure JMS Servers for a cluster?
    Next I want to explain how I start the managed servers in the cluster.  At this time I am unable to use NodeManager so starting of the instances is done manually via command line. Basically it's a wrapper around the startManagedWebLogic.sh script.  I know something is wrong with my JMS configuration because when I start the managed servers I will typically see an error which looks like this:
    <Warning> <EJB> <BEA-010061> <The Message-Driven EJB: MyMDB is unable to connect ot the JMS destination: jms/myTopic.  The error was:
    werblogic.jms.common.JMSException: could not find Server NAME_OF_MANAGED_SERVER
    Nested exception: weblogic.jms.common.JMSException: could not find Server NAME_OF_MANAGED_SERVER
    Nested exception: weblogic.jms.common.JMSException: could not find Server NAME_OF_MANAGED_SERVER
    Nested exception: weblogic.jms.common.JMSException: could not find Server NAME_OF_MANAGED_SERVER
    Nested exception: weblogic.messaging.dispatcher.DispatcherException: could not find Server NAME_OF_MANAGED_SERVER
    Nested excpetion: javax.naming.NameNotFoundException: Unable to resolve 'weblogic.messaging.dispatcher.S:NAME_OF_MANAGED_SERVER'. Resolved 'weblogic.messaging.dispatcher'; remaining name 'S:NAME_OF_MANAGED_SERVER'>
    Despite this error message, the MDB on that manged server does still successfully recieve messages posted to the Topic, though, as stated earlier, my problem is the MDB is getting the message more than once.
    Also, I've confirmed all managed servers in the cluster can receive the message posted to the Topic no matter which managed server posts the original message.
    Next is to explain my cluster configuration.  I'm sure I know is is wrong, but not sure where my mistake is.  Here is my JMS configuration for the cluster.
    4 JMS Servers
    Persistence Store:
    Each JMS Server has its own persistent store
    Each store targets one of the 4 (migratable) managed servers
    Each store is a FileStore
    Filesystem is not shared between VMs in the cluster
    Target:Each JMS server targets one of the 4 (migratable) managed servers
    1 JMS ModuleTarget: The cluster - "All servers in the cluster"
    1 JMS Topic
    Destination type: Uniform
    Forwarding Policy: Replicated
    Template: None
    Target: The cluster - "All servers in the cluster"
    Subdeployment: Default Targeting
    1 JMS ConnectionFactory
    Subscription Sharing Policy: Exclusive
    Client ID Policy: Restricted
    XA connection factory enabled (YES)
    Target: The cluster - "All servers in the cluster"
    Subdeployment: Default Targeting

    Hi Michael,
    I need to clarify exactly what you want to happen. What you are saying you want is not typical. I expected you to say you wanted Scenario 8 or 9. Those are the most common.
    I will try to capture what your words are saying in "graphic text". I'm not sure that the graphic in the document is accurate.
    Server 1                      Server 2                      Server 3                      Server 4
    JMS svr 1                    JMS svr 2                   JMS svr 3                    JMS svr 4
    DistTopic-mem1         DistTopic-mem2          DistTopic-mem3          DistTopic-mem4
    MDB listens locally     MDB listens locally      MDB listens locally      MDB listens locally
    Events...
    1. Message published
    on Server 1
    2. Message is replicated
    to server 2
    3. Local MDB get message
                                      4. Message is replicated
                                      to server 3
                                      5. Local MDB gets message
                                                                          6. Message is replicated
                                                                          to Server 4
                                                                          7. Local MDB gets the message
                                                                                                                8. Local MDB gets the message.
    This is the standard Replicated Distributed Topic flow. Messages are replicated, and every message is forwarded to every member of the distributed topic.
    In the case, each message will be processed 4 times - once per server.
    This is what your text says you want.
    This is scenario 1 in the doc.
    I don't really know what is going wrong with your MDB. The topics are getting created per your comment about the ability to publish a message.
    Are you seeing errors during deployment?
    To answer your question about where to set topicMessagesDistributionMode and distributedDestinationConnection, they are set in a deployment descriptor or in an annotation in the MDB. See http://docs.oracle.com/middleware/1213/wls/WLMDB/summary.htm#WLMDB1385..
    Let me know if I described what you want to happen.
    If so, a replicated distributed topic and an MDB deployed to the cluster should just work with no need to set the descriptor elements.
    Dave

  • MDB in clustered environment

    If an MDB (listening to a Queue) is part of an ear file, which is deployed
    on more than one servers in a cluster:
    1. Can multiple MDB instances receive the same message?
    2. The MDB updates the database. So will more than one MDB instance update the database with same information?
    3. How are database transactions handled with multiple instances of MDB?
    Problem encountered: Only a part of message(which is in XML format) obtained by MDB gets written to database whereas the rest of message never gets written to database. Why would this happen?
    Thanks,
    Shilpa.

    The spec doesn't explicitly mention the cluster scenario but it does state that no more than one MDB component should consume from the same queue. The rule of thumb is that application semantics should not change just because the application is deployed to multiple JVMs. Each message sent to the queue should be processed by a single message bean instance within one of the JVMs that is running the same MDB application. The cluster case just gives additional opportunities for concurrent message delivery. However, in a sense it's not much different from the base case of a single JVM where there are typically many message bean instances for the same MDB component.
    Transactions are handled on a per message-bean instance basis. The transaction semantics are independent of how many JVMs the same message-bean application is running on.
    Not sure what would cause the partial message issue you listed. Might be worth checking the server.log in whatever implementation you're using.
    --ken                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • MDB,MDB container or JMS adapter stops processing messages from JMS queue

    Hi guys,
    we have created a component using Enterprise Java Beans, let's say a product catalog, deployed it on a Glassfish v2 instance, and connected it to a legacy system using JMS and Sun MQ v4.1 as messaging system. The catalog component thus starts one MDB that listens on a JMS queue, let's say a queue named catalog_business_events_in, and waits for incoming messages, i.e. in our case update events. The problem is, that in general this approach works well, but sometimes the MDBs/JMS adapter stops for some reason fetching and processing messages from the JMS queue. We don't know why - no exceptions, etc.. Seems to be a Glassfish EJB container, JMS adapter or Sun MQ configuration issue. It seems to be that our component is not the problem.
    The messages are compressed/uncompressed by Sun MQ automatically. We actually have 2 Sun MQ instances in clustered mode running to have some kind of failover - no HA cluster, yet. Sun MQ instances are accessed from Glassfish instances running in different Glassfish clusters - so we have a dedicated Sun MQ cluster not a Sun MQ instance per Glassfish instance. Each Glassfish instance is configured such that it knows both Sun MQ instances to allow automatic failover.
    Has someone an idea, why the MDBs/ MDB container/ JMS adapter - stops processing messages? We are kind of puzzled as it happens more often now and apparently when traffic is (very) low not high!
    Thanks for your help.
    Cheers,
    Martin
    Edited by: east1979 on Jan 13, 2009 8:06 AM

    Hi Manoj,
    I have a very similar if not identical issue,
    Error while running realtime jobs that read from JMS tables via JMS MQ adapter:
    15/11/12 09:10:08  JMS GET OPERATION ERROR : TIMEOUT.UNABLE TO RECEIVE RESPONSE FROM THE INVOKED DATA SERVICES SERVICE.ADAPTER OPERA
    TION TO CONTINUE.
    15/11/12 09:10:15  Communication Error. See real time job log for details.
    Dump available:
    https://sapmats.wdf.sap.corp/download/download.cgi?id=5C0KZAHA3RSXBJW3ABLMUUT2P5UUKWO2TM3EJDM5W2HGDZUDID
    Version of DS:14.0.3.273
    Any comments?
    Thansk and kind Regards,
    Kenneth

  • Space occupied by clustered index Vs non-clustered index

    I am trying to understand the indexes. Does clustered index occupy more space than a non-clustered index because it carries the information about rest of the other columns also. Could you guys please help me understand this. Thanks in advance.
    svk

    Hi czarvk,
    Clustered index in SQL Server takes up more space than non-clustered indexes.
    Clustered index arranges the way records are stored in a table putting them in order (key, value), all the data are sorted on the values of the index.
    A non-clustered index is a completely different object in a table, containing only a subset of columns and a row locator to the table’s rows or to the clustered index’s key.
    So clustered index in SQL Server takes up more space than non-clustered indexes.
    If you have any question, please feel free to let me know.
    Regards,
    Donghui Li

  • MDB with foreign JMS : WLS 9.23

    For the love of _____ (fill in your own muse of desperation here), is there some categorical statement of whether WLS9.23 actually ***works*** with MDB's and foreign JMS providers? Whereever I search/find, people have trouble with this.
              Some kind BEA sould - please. Please, please please : publish a canonical example of MDB with secured foreign-JNDI provided connx factory, and either a queue or a topic.
              I'm beginning to wonder if this works at all.

    Good morning!
              Categorical Statement: WLS supports JMS spec compliant foreign providers for MDBs, bridges, resource-references, foreign providers. We also support sending a foreign providers message using a WebLogic JMS client.
              For general Tibco integration questions, I recall that the Tibco docs themselves contain WebLogic integration examples. There's also some much mention of Tibco in the out-dated "Using Foreign JMS Providers with WebLogic Server" white-paper on dev2dev.
              That said, there have been definitely been problems with Tibco and MQ's latest release, as they both recently released semi-non-JMS compliant clients that our wrapper code was unprepared to deal with. In short, we were caught unawares when these clients stopped supporting the 1.0.2 APIs even though 1.1 specification clearly requires both 1.1 and 1.0.2 support. Rather than ask Tibco and MQ teams to have them patch their code (an approach we've sometimes taken over the years), we chose this time to enhance our code.
              I think the problems were all fixed by 9.23 - but you may want to contact customer support to see if there are any additional patches required. Alternatively, you can try use a slightly older Tibco client, as presumably their older clients are still able to interoperate with their latest server version (this approach works with MQ).
              Tom

  • MDB vs standalone JMS client

    I have implemented a transformation server as a JMS client. This is not
    written as a EJB bean, partly because I'm not very familiar with EJB beans.
    I'm being told MDB is the way to go (I'm a bit reluctant in front of the
    additional work) for the usual reasons : transaction-control (not really an
    issue right now for me but may become one), ease of deployment and
    centralized monitoring. Fair enough.
    My standalone JMS client creates a lot of variables at initialization (such
    as a precompiled XSLT stylesheet to substantially improve the speed of each
    transformation).
    Where should this be created if I were to convert my standalone JMS client
    into an MDB ? In ejbCreate() ?
    I'm also a bit worried about a few aspects :
    1) Performance, the size of requests may vary tremendously and I currently
    use a synchronous receive on my input queue, is this more efficient (I pull
    messages when I'm ready) than using beans and onMessage() ? In other words,
    will the container try to push message notifications to MDB bean instances
    that are not ready ?
    2) My standalone JMS consumer is also a producer to several destinations
    (including temporary queues, permanent queues and topics), is there any
    limitation to the use of JMS destinations in an MDB (what about selectors ?)
    vs a standalone java JMS application?
    3) My standalone JMS consumer creates a few threads per request. Any gotchas
    in a MDB vs a standalone Java JMS application ? Are MDB passivated at any
    time ?
    Many thanks for any answer,
    Rosalie
    Rosalie

    Rosalie Mignon wrote:
    I have implemented a transformation server as a JMS client. This is not
    written as a EJB bean, partly because I'm not very familiar with EJB beans.
    I'm being told MDB is the way to go (I'm a bit reluctant in front of the
    additional work) for the usual reasons : transaction-control (not really an
    issue right now for me but may become one), ease of deployment and
    centralized monitoring. Fair enough.There's a number of MDB advantages over writing your own JMS consumers.
    I would recommend MDBs for JMS consumers running within WLS. If you
    have a JMS consumer that is a separate (say client) process, then
    vanilla JMS is still the way to go.
    The MDB container takes care of things like reconnecting you to JMS if
    it fails. It supports foreign JMS providers so your MDBs will work with
    "foreign" messaging systems like MQ-Series.
    >
    My standalone JMS client creates a lot of variables at initialization (such
    as a precompiled XSLT stylesheet to substantially improve the speed of each
    transformation).
    Where should this be created if I were to convert my standalone JMS client
    into an MDB ? In ejbCreate() ?Yes, ejbCreate would be fine.
    >
    I'm also a bit worried about a few aspects :
    1) Performance, the size of requests may vary tremendously and I currently
    use a synchronous receive on my input queue, is this more efficient (I pull
    messages when I'm ready) than using beans and onMessage() ? In other words,
    will the container try to push message notifications to MDB bean instances
    that are not ready ?I'm not sure I understand. You will have a pool of MDB instances all
    receiving from the queue. When an instance is available and there is a
    message pending, the EJB/JMS containers will call your MDB's onMessage
    implementation.
    >
    2) My standalone JMS consumer is also a producer to several destinations
    (including temporary queues, permanent queues and topics), is there any
    limitation to the use of JMS destinations in an MDB (what about selectors ?)
    vs a standalone java JMS application?Not that I can think of.
    >
    3) My standalone JMS consumer creates a few threads per request. Any gotchas
    in a MDB vs a standalone Java JMS application ? You are not really allowed to create threads from an EJB. Why do you
    need to create threads? In general, we wouldn't recommend that
    server-side applications create new threads on each request.
    Are MDB passivated at any
    time ?
    No
    Many thanks for any answer,Your domain name is an unusual one for the J2EE world. If you can tell
    us, I'd be interested to know what you're doing.
    -- Rob
    >
    Rosalie
    Rosalie

  • ClassCastException on acknowledge from MDB - foreign Joram JMS

    I have defined a foreign Joram JMS server in WLS. An MDB listens on a topic defined in Joram JMS. I am able to publish messages to this topic and the MDB does receive them. However, on acknowledging the message, WLS throws a ClassCast exception.
              The Joram JARs are listed in the CLASSPATH used to start weblogic. They are not present in the EAR file.
              Stack Trace:
              <Sep 26, 2005 3:17:51 PM MDT> <Error> <Kernel> <BEA-000802> <ExecuteRequest fail
              ed
              java.lang.ClassCastException: org.objectweb.joram.client.jms.TopicSession.
              java.lang.ClassCastException: org.objectweb.joram.client.jms.TopicSession
              at weblogic.ejb20.internal.MDListener$MDMessage.acknowledge(MDListener.j
              ava:722)
              at weblogic.ejb20.internal.MDListener.putListener(MDListener.java:221)
              at weblogic.ejb20.internal.MDListener.execute(MDListener.java:630)
              at weblogic.ejb20.internal.MDListener.run(MDListener.java:669)
              at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkMan
              agerImpl.java:518)
              at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
              at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
              >
              ClassPath used to start WLS:
              CLASSPATH=;C:/joram-4_2_0/ship/lib/JCup.jar;C:/joram-4_2_0/ship/lib/joram-client
              .jar;C:/joram-4_2_0/ship/lib/joram-shared.jar;C:/joram-4_2_0/ship/lib/ow_monolog
              .jar;C:\bea9.0\patch_weblogic901\profiles\default\sys_manifest_classpath\weblogi
              c_patch.jar;C:\bea9.0\JDK150~1\lib\tools.jar;C:\bea9.0\WEBLOG~1\server\lib\weblo
              gic_sp.jar;C:\bea9.0\WEBLOG~1\server\lib\weblogic.jar;;C:\bea9.0\WEBLOG~1\common
              \eval\pointbase\lib\pbclient51.jar;C:\bea9.0\WEBLOG~1\server\lib\xqrl.jar;;C:\be
              a9.0\WEBLOG~1\integration\lib\util.jar;
              Thanks.

    I am also having this exact same issue with Weblogic 9.1. It appears that MDListener$MDMessage is trying to cast the foreign TopicSession into some Weblogic Session class and thus failing.
              Has this been addressed by BEA or are there any work arounds?
              Thanks.

  • Detect clicked cluster in mouse down event for clusters within multiple stacked clusters

    With the help of Ben (see http://forums.ni.com/t5/LabVIEW/Determine-cluster-element-clicked-in-mouse-down-event/td-p/1245770)
    I could easily find out what sub-cluster had been clicked on (mouse down event) within the main cluster, by using the Label.Text Property.
    However if you have a cluster within a cluster within a cluster then you probably have to use individual mouse down events for each sub-sub cluster.
    I just wanted to use one "Main Cluster":Mouse Down event and from that determine which of the sub-sub clusters had been clicked on - is this even remotely possible?
    Chris.

    Chris Reed wrote:
    With the help of Ben (see http://forums.ni.com/t5/LabVIEW/Determine-cluster-element-clicked-in-mouse-down-event/td-p/1245770)
    I could easily find out what sub-cluster had been clicked on (mouse down event) within the main cluster, by using the Label.Text Property.
    However if you have a cluster within a cluster within a cluster then you probably have to use individual mouse down events for each sub-sub cluster.
    I just wanted to use one "Main Cluster":Mouse Down event and from that determine which of the sub-sub clusters had been clicked on - is this even remotely possible?
    Chris.
    Yes but... you will have to pass through 26 Kudos worth of Nuggets to get there (Well maybe you can skip the last 5 or so).
    This Nugget by Ton teaches us how to use Dynamic Event Registration. (15 Kudos, must read and understand)
    This Nugget by me talks about getting at references inside arbitrary data structures. (11 Kudos, You don't have to read the whole thing, only enough to get at nested objects).
    SO use the stuff I wrote about to gather up the references to the clusters. Build them into an array and then use dynamic event registration and what you learned in that thread you linked in your question.
    So Possible? Yes!
    Easy? YOU tell me.
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • MDB sending a JMS message to a queue (WLS 8.1.4)

    We are trying to implement a MDB to send a JMS message to a dynamically created JMS queue. Is this possible? We have found documentation stating the JMS Queue destination needs to be in the deployment descriptor, but in our case it changes so this is not an option. Any help would be appreciated.

    Sorry I didn't address the answers more clearly. You were correct on the answers except with:
              Switch from using a resource-reference to a direct reference for a send? Answer: No. We are only trying a direct send, not utilizing the resource-reference.
              We are already using "false" for the connection.create[Queue]Session code.
              Should we be trying something else because of transactional behavior of not utilizing the resource-reference for the send as you thought?
              We have tried the queue as XA and non-XA and neither work.

  • MDB for Foreign JMS server

    I am trying to access MQ que with Message Driven bean in weblogic 8.1.
              I have defined Foreign JMS server in weblogic pointing to MQ JNDI name.
              I am not sure what to define in "weblogic-ejb-jar.xml" and "ejb-jar.xml" to refer to que connection factory and que.
              Error message that I am getting while deploying is as follows:
              <The Message-Driven EJB: MesssageHandlerBean is unable to connect to the JMS destination: jms.MediaQueue. The Error was:
              [EJB:011010]The JMS destination with the JNDI name: jms.MediaQueue could not be found. Please ensure that the JNDI name in the weblogic-ejb-jar.xml is correct, and the JMS destination has been deployed.>
              Looks like it weblogic is not able to identify JNDI name that I have defined in foreign server for remote que.
              Please let me know how i can reference foreign JMS server JNDI names.
              Thanks a bunch for help.
              Please find attached configuration files.
              weblogic-ejb-jar.xml
              <weblogic-ejb-jar>
              <weblogic-enterprise-bean>
              <ejb-name>MesssageHandlerBean</ejb-name>
              <message-driven-descriptor>
              <destination-jndi-name>
              jms.MediaQueue
              </destination-jndi-name>
              <initial-context-factory>
              com.sun.jndi.fscontext.RefFSContextFactory
              </initial-context-factory>
              <provider-url>file://localhost/d:/mqm</provider-url>
              <connection-factory-jndi-name>
              jms.MediaQcf
              </connection-factory-jndi-name>
              </message-driven-descriptor>
              <jndi-name>MesssageHandlerBean</jndi-name>
              </weblogic-enterprise-bean>
              </weblogic-ejb-jar>
              ejb-jar.xml
              <enterprise-beans>      
              <message-driven>
              <ejb-name>MesssageHandlerBean</ejb-name>
              <ejb-class>com.ejb.MesssageHandlerBean</ejb-class>
              <transaction-type>Container</transaction-type>
              <message-driven-destination>
              <destination-type>javax.jms.Queue</destination-type>
              </message-driven-destination>
              </message-driven>
              </enterprise-beans>
              weblogic "config.xml" for foeign JMS server.
              <ForeignJMSServer ConnectionURL="file://localhost/d:/mqm" InitialContextFactory="com.sun.jndi.fscontext.RefFSContextFactory"
              JNDIProperties="" Name="MQJMS Server" Targets="cgServer">
              <ForeignJMSConnectionFactory LocalJNDIName="jms.MediaQcf"
              Name="MQ JMS Connection Factory" PasswordEncrypted=""
              RemoteJNDIName="jms/lMediaQcf" Username=""/>
              <ForeignJMSDestination LocalJNDIName="jms.MediaQueue"
              Name="MQJMS Destination" RemoteJNDIName="jms/IMediaQueue"/>
              </ForeignJMSServer>
              Message was edited by:
              [email protected]
              Message was edited by:
              [email protected]

    Thanks for going over the problem it is resolved now by changing weblogic-ejb-jar.xml. To point to weblogic initial context factory. Since weblogic has a foreign server defined so MDB is able to read from MQ que.
              Thanks
              Akash
              <weblogic-enterprise-bean> <ejb-name>MesssageHandlerBean</ejb-name> <message-driven-descriptor> <destination-jndi-name>jms.MediaQueue</destination-jndi-name> <initial-context-factory> weblogic.jndi.WLInitialContextFactory</initial-context-factory> <provider-url>t3://localhost:7001</provider-url> <connection-factory-jndi-name>jms.MediaQcf</connection-factory-jndi-name> </message-driven-descriptor> <jndi-name>MesssageHandlerBean</jndi-name> </weblogic-enterprise-bean>

Maybe you are looking for