Problems using distributed JMS topic

          I'm having problems using a distributed topic. I'm running WebLogic 8.1 (SP1)
          with two managed servers in a cluster. I created a new distributed topic using
          the console, and used auto deploy to target the distributed topic to the cluster
          and create members on both servers. I deployed three message-driven EJBs (listening
          on the distributed topic) to both servers.
          After initial deployment, the topic works as expected - I post a message to the
          distributed topic, and it is received by all six EJBs. When I re-start the system
          (both managed servers and the admin server), however, the results are different.
          When I post a message to the distributed topic, it is only received by the three
          EJBs on the first server (the log shows that all EJBs have deployed successfully).
          Under Deployments/EJB Modules/Monitoring, the EJBs on the second server show "JMSConnection
          Alive" as false, while the others are true.
          Under Monitoring/"Monitor all Active JMS Destinations..." for the member topics,
          there are three consumers listed when there should be six.
          If remove and re-create the member topics, or the distributed topic, exceptions
          appear in the log saying that one or both of the member topics are "suspended".
          Is there additional configuration that needs to be done for this scenario? Are
          there any known problems related to distributed topics?
          Thanks,
          Richard
          

Hi Richard,
          There are no 8.1SP1 problems that I know of.
          Check your logs for Warnings and Errors - distributed topics
          members often log an explanatory message
          when they fail to contact their fellow members.
          Also make sure that you have configured so that
          the following are true:
          All WL servers are named differently.
          All JMS servers are named differently.
          All JMS stores are named differently.
          All distributed topic members within a distributed topic are named
          differently.
          Also make sure that your cluster is coming up
          properly in the first place. If you have
          trouble doing so, you can post
          to the clustering newsgroups for info.
          Tom
          Richard Killen wrote:
          > I'm having problems using a distributed topic. I'm running WebLogic 8.1 (SP1)
          > with two managed servers in a cluster. I created a new distributed topic using
          > the console, and used auto deploy to target the distributed topic to the cluster
          > and create members on both servers. I deployed three message-driven EJBs (listening
          > on the distributed topic) to both servers.
          >
          > After initial deployment, the topic works as expected - I post a message to the
          > distributed topic, and it is received by all six EJBs. When I re-start the system
          > (both managed servers and the admin server), however, the results are different.
          > When I post a message to the distributed topic, it is only received by the three
          > EJBs on the first server (the log shows that all EJBs have deployed successfully).
          >
          > Under Deployments/EJB Modules/Monitoring, the EJBs on the second server show "JMSConnection
          > Alive" as false, while the others are true.
          >
          > Under Monitoring/"Monitor all Active JMS Destinations..." for the member topics,
          > there are three consumers listed when there should be six.
          >
          > If remove and re-create the member topics, or the distributed topic, exceptions
          > appear in the log saying that one or both of the member topics are "suspended".
          >
          > Is there additional configuration that needs to be done for this scenario? Are
          > there any known problems related to distributed topics?
          >
          > Thanks,
          > Richard
          >
          

Similar Messages

  • Creating a secured DISTRIBUTED JMS topic.

    I need create a secured DISTRIBUTED JMS topic. That is, client should have the correct security credentials in order to access the topic.
    Please help.

    I need create a secured DISTRIBUTED JMS topic. That is, client should have the correct security credentials in order to access the topic.
    Please help.

  • Problem using distribute form - A recipient is ambiguous

    Hello all,
    We prepared a form and use distribute form option to send to our coworkers and collect results. They received the email, complete the form and when they try to send back they receive "A recipient is ambiguous" message.
    We try to prepare the form in diferent versions with similar results. They are using the Acrobat 8.0, Windows XP and MS Outlook 2003 and 2007.
    We tested only using Acrobat Reader and WORKS!!!. My questions is we are planing to send this form to a lot of people and we need some ideas how can people can handled that, because if they have a Acrobat (full version) will be have the same problem.
    Now other option or idea is: It if possible to use some URL and add in paremeter to open only with Acrobat Reader???
    Thanks in advance for your information, ideas or solution.
    Oscar Calagua

    It is not possible to restrict to Reader users. More importantly, since users are not supposed to have Reader and Acrobat on the same computer, you may prevent people who need to fill out the form that need to.

  • Distributed JMS Topic consumer reconnection... How???

    Hi!
              I'm trying to develop a JMS consumer that is connected to a distributed topic located in a 2-machine cluster. The client knows the address of the two servers, so the idea is to catch the JMSException (JMS destination shutdown) with a ExceptionListener (or something like that) if one server fails, and then try to connect to the other one...
              I've been browsing Weblogic docs but I didn't find any example for this.
              How do I implement my consumer? Is there any other approach to my problem?
              Thanks a lot!
              Jorge Granado
              

              Hi Tom:
              Finally I've been able to reconnect my consumer. I took a "clean" one (mine was
              getting too complicated :-) and it worked. I took the TopicReceive sample from
              bea samples and added a "reconnect" method following your recommendations about
              reusing existing ConnectionFactory. I'm beginning to think I was forgetting to
              start the connection, but anyway now it works great. Thanks a lot!
              BTW, could you explain to me how can I change (if possible) in "real-time" the
              MessageSelector properies for an existing consumer? Suppose that I have a consumer
              connected to a topic with a selector like "priority >=2" and I'd like to change
              it to "priority >=3" without restarting the application... Is it possible??
              Thanks again
              Jorge
              Tom Barnes <[email protected].bea.com>
              wrote:
              >Seems like your following the recipe correctly. :-)
              >
              >Could you try this on a platform other than AIX?
              >
              >Are you using the same version of WL jars for client and server?
              >
              >Are you using the new 8.1 "thin client" jars for the client? If
              >so try using weblogic.jar instead (don't put both kinds
              >of jars in your classpath).
              >
              >
              >"Jorge Granado" jorge.granadoATatosorigin.com wrote:
              >
              >> Hi again!
              >>
              >> Well, maybe there's something I don't get, but what I'm trying to do
              >is:
              >>
              >> -Create a topic consumer and connect it to the distributed topic (standard
              >process...)
              >> -Shutdown the server where the consumer is connected...
              >> -Capture the exception
              >> -Close the topic connection
              >> -Create a new one reusing existing topic connection factory (as you
              >told me there's
              >> no need to make a lookup again...)
              >> -Create a topic session over the new topic connection
              >> -Create a subscriber
              >> -Read messages... :-)
              >>
              >> But in 5th step what I get is a new Exception... "Error creating connection
              >to
              >> the server"
              >>
              >> I'm sure I've misunderstood something... :-(
              >>
              >> Thanks again for your patience :-)
              >>
              >> Jorge
              >>
              >> Tom Barnes <[email protected].bea.com>
              >> wrote:
              >>
              >>>No, I don't know what is happening. I wonder if you are
              >>>somehow multi-threading the session? Try closing
              >>>the old connection before reconnecting. And note that
              >>>there is no need to lookup up the CF again, as the old CF
              >>>should work fine (it is a clusterable RMI reference,
              >>>so it can survive failures).
              >>>
              >>>"Jorge Granado" jorge.granadoATatosorigin.com wrote:
              >>>
              >>>>Now I've created a consumer, and when catching the session exception
              >>>
              >>>and try to
              >>>
              >>>>reconnect to another WL instance, when I make the JNDI lookup to my
              >>>
              >>>connection
              >>>
              >>>>factory, instead of getting a weblogic.jms.client.JMSConnectionFactory
              >>>
              >>>what I
              >>>
              >>>>get is an weblogic.jms.frontend.FEConnectionFactory_812_WLStub_812_WLStub.
              >>>
              >>>>This causes a ClassCastException and I can't connect to it. Any idea
              >>>
              >>>what is happening?
              >>>
              >>>>Thanx again :-)
              >>>>
              >>>> Jorge
              >>>>
              >>>>BTW, I'm using WL 8.1 SP2 (AIX platform)
              >>>>
              >>>>Tom Barnes <[email protected].bea.com>
              >>>>wrote:
              >>>>
              >>>>
              >>>>>Hi Jorge,
              >>>>>
              >>>>>Registering exception-listeners and retrying on failure
              >>>>>seems like the right approach. I'm not sure what you
              >>>>>are looking for in an example.
              >>>>>
              >>>>>For more information on JMS clustering, I recommend reading
              >>>>>the JMS Performance Guide white-paper on dev2dev:
              >>>>>
              >>>>>http://dev2dev.bea.com/technologies/jms/index.jsp
              >>>>>
              >>>>>Tom, BEA
              >>>>>
              >>>>>P.S. One thing to realize is that WebLogic distinguishes between
              >>>>>"session" exceptions and "ccnnection" exceptions. Shutting
              >>>>>down JMS without shutting down a client connection's WL
              >>>>>server only generates session exceptions, as the connection
              >>>>>is still valid. To monitor session exceptions, register
              >>>>>a session exception listener (see the weblogic.jms.extensions
              >>>>>package).
              >>>>>
              >>>>>Jorge Granado wrote:
              >>>>>
              >>>>>
              >>>>>
              >>>>>>Hi!
              >>>>>>
              >>>>>>I'm trying to develop a JMS consumer that is connected to a distributed
              >>>>>
              >>>>>topic located in a 2-machine cluster.
              >>>>>
              >>>>>
              >>>>>>The client knows the address of the two servers, so the idea is
              >to
              >>>>>
              >>>>>catch the JMSException (JMS destination shutdown)
              >>>>>
              >>>>>with a ExceptionListener (or something like that) if one server fails,
              >>>>>
              >>>>>and then try to connect to the other one...
              >>>>>
              >>>>>
              >>>>>>I've been browsing Weblogic docs but I didn't find any example for
              >>>>>
              >>>>>this.
              >>>>>
              >>>>>
              >>>>>>How do I implement my consumer? Is there any other approach to my
              >>>
              >>>problem?
              >>>
              >>>>>>Thanks a lot!
              >>>>>>
              >>>>>> Jorge Granado
              >>>>>
              >>
              >
              

  • Performance problem using distributed query

    Hi,
    Can anyone provide an explanation/solution to the following problem encountered on an 8.1.7 database:
    SELECT /*+ DRIVING_SITE(vs) */
    vs.col2
    ,user_defined_function
    FROM v_remote_table_1 vs
    ,v_remote_table_2 vc
    ,local_table_1 s
    WHERE vp.col1 = vs.col1
    AND s.col1 = vs.col2
    AND vs.col2 = &some_val
    This generalised query joins two tables in a remote database schema to a table in the local database schema and returns a single row. Without the call to the local user defined function, my specific query returns the row in less than a second. As soon as I include any local user defined function call, even a call to a dummy function which simply returns a string, my query takes several minutes to return its row. Explain plan gives exactly the same plan for both versions of the query, but the statistics are different:
    Version without call to function
    ================================
    8 recursive calls
    0 db block gets
    7 consistent gets
    0 physical reads
    0 redo size
    235 bytes sent via SQL*Net to client
    311 bytes received via SQL*Net from client
    2 SQL*Net roundtrips to/from client
    0 sorts (memory)
    0 sorts (disk)
    1 rows processed
    Version with call to function
    =============================
    93 recursive calls
    4 db block gets
    109 consistent gets
    1998 physical reads
    0 redo size
    288 bytes sent via SQL*Net to client
    312 bytes received via SQL*Net from client
    2 SQL*Net roundtrips to/from client
    2 sorts (memory)
    2 sorts (disk)
    1 rows processed
    I'm assuming that, when calling a local function, the DRIVING_SITE hint is ignored, but I don't know why. It's quite important that we are able to include the results of function calls in the query. Any ideas as to the cause of the degraded performance and possible solutions to it would be most welcome!
    Thanks.....

    I would try something like:
    SELECT r.col2,user_defined_function
    FROM (SELECT vs.col2
          FROM v_remote_table_1 vs, v_remote_table_2 vp
          WHERE vp.col1 = vs.col1 AND
                vs.col2 = &some_val) r,
         local_table_1 s
    WHERE s.col1 = r.col2Thismay allow Oracle to better seperate the calls to the two databases.
    HTH
    John

  • Clustering a JMS Topic

    I'm trying to create a distributed JMS topic using the wlconfig ant task (MBean).
    I can create a topic on a single server fine, but I can't figure out how to create a distributed topic that I could access on any server in the cluster.
    This is what I have so far, which seems to run, but I can't lookup the topic under the JNDI name in the server,
    <wlconfig url="t3://${JEE_HOST}:7001/" username="${JEE_USER}" password="${JEE_PASSWORD}">
    <query domain="mydomain" type="Cluster" name="*" property="cluster"/>
    <query domain="mydomain" type="Server" name="server1" property="server1"/>
    <query domain="mydomain" type="Server" name="server2" property="server2"/>
    <query domain="mydomain" type="Server" name="server3" property="server3"/>
    <create type="JMSConnectionFactory" name="EmployeeTopicConnectionFactory">
    <set attribute="JNDIName" value="jms/EmployeeTopicConnectionFactory"/>
    <set attribute="XAServerEnabled" value="false"/>
    <set attribute="Targets" value="${cluster}"/>
    </create>
    <create type="JMSServer" name="EmployeeJMSServer1">
    <set attribute="Targets" value="${server1}"/>
    </create>
    <create type="JMSServer" name="EmployeeJMSServer2">
    <set attribute="Targets" value="${server2}"/>
    </create>
    <create type="JMSServer" name="EmployeeJMSServer3">
    <set attribute="Targets" value="${server3}"/>
    </create>
    <create type="JMSDistributedTopic" name="EmployeeTopic">
    <set attribute="JNDIName" value="jms/EmployeeTopic"/>
    <set attribute="LoadBalancingPolicy" value="Random"/>
    <set attribute="Targets" value="${cluster}"/>
    </create>
    </wlconfig>
    This produces the following in the config.xml
    <jms-server>
    <name>EmployeeJMSServer1</name>
    <target>server1</target>
    </jms-server>
    <jms-server>
    <name>EmployeeJMSServer2</name>
    <target>server2</target>
    </jms-server>
    <jms-server>
    <name>EmployeeJMSServer3</name>
    <target>server3</target>
    </jms-server>
    <migratable-target>
    <name>server1 (migratable)</name>
    <notes>This is a system generated default migratable target for a server. Do not delete manually.</notes>
    <user-preferred-server>server1</user-preferred-server>
    <cluster>employee-cluster</cluster>
    </migratable-target>
    <migratable-target>
    <name>server2 (migratable)</name>
    <notes>This is a system generated default migratable target for a server. Do not delete manually.</notes>
    <user-preferred-server>server2</user-preferred-server>
    <cluster>employee-cluster</cluster>
    </migratable-target>
    <migratable-target>
    <name>server3 (migratable)</name>
    <notes>This is a system generated default migratable target for a server. Do not delete manually.</notes>
    <user-preferred-server>server3</user-preferred-server>
    <cluster>employee-cluster</cluster>
    </migratable-target>
    <jms-interop-module>
    <name>interop-jms</name>
    <sub-deployment>
    <name>EmployeeTopicConnectionFactory</name>
    <target>employee-cluster</target>
    </sub-deployment>
    <sub-deployment>
    <name>EmployeeTopic</name>
    <target>employee-cluster</target>
    </sub-deployment>
    <descriptor-file-name>jms/interop-jms.xml</descriptor-file-name>
    </jms-interop-module>
    and the jms interop xml
    <connection-factory name="EmployeeTopicConnectionFactory">
    <jndi-name>jms/EmployeeTopicConnectionFactory</jndi-name>
    <transaction-params>
    <xa-connection-factory-enabled>false</xa-connection-factory-enabled>
    </transaction-params>
    </connection-factory>
    <distributed-topic name="EmployeeTopic">
    <jndi-name>jms/EmployeeTopic</jndi-name>
    <load-balancing-policy>Random</load-balancing-policy>
    </distributed-topic>

    You might want to post this to the JMS forum:
    http://forum.java.sun.com/forum.jspa?forumID=29

  • OSB(11.1.1.4) errors when ServiceProxy configured to AQ JMS Topic(not Q)

    Hi,
    I have a situation as follows:
    AQ JMS Topic --> OSB Proxy Service --> Invoke some business service.
    I have configured WLS with AQ Foreign JMS server. I know my WLS/AQ configuration is correct as I can publish to AQ topic from OSB(no bpel) business service. But when I try to get an inbound xml(not soap) messages from AQ and let OSB Proxy Service subscribe to the JMS topic(not queue). I get the following message in WLS console
    WLS Console Error message:
    <Warning> <EJB> <BEA-010081> <The message-driven bean RequestEJB-3836792044197546800-63c4ae90.12e4efaf8e2.-7fbf was configured to use a JMS Topic, requires container-managed transactions, and uses a foreign JMS provider. Only one thread will be used to receive and process all messages.>
    Also the messages does not get picked up from AQ topic and when I look at AQ there is no subscriber created to the JMS topic. I did set the subscriber name, XA etc. in the OSB JMS Transport advanced section.
    ============================================================================
    In the console log I get:
    <Feb 22, 2011 4:25:07 PM CST> <Warning> <EJB> <BEA-010061> <The Message-Driven EJB: RequestEJB-6379926953434238165--37f2a5df.12e4f78ff7c.-7fda is unable to connect to the JMS destination: jms.etBannerFromRMS. The Error was:
    oracle.jms.AQjmsException: ORA-24047: invalid agent name RequestEJB-6379926953434238165, agent name should be of the form NAME
    ORA-06512: at "SYS.DBMS_AQADM_SYS", line 6234
    ORA-06512: at line 1
    ORA-06512: at "SYS.DBMS_AQJMS", line 129
    ORA-06512: at line 1
    Nested exception: java.sql.SQLException: ORA-24047: invalid agent name RequestEJB-6379926953434238165, agent name should be of the form NAME
    ORA-06512: at "SYS.DBMS_AQADM_SYS", line 6234
    ORA-06512: at line 1
    ORA-06512: at "SYS.DBMS_AQJMS", line 129
    ORA-06512: at line 1
    >
    <Feb 22, 2011 4:25:17 PM CST> <Warning> <EJB> <BEA-010081> <The message-driven bean RequestEJB-6379926953434238165--37f2a5df.12e4f78ff7c.-7fda was configured to use a JMS Topic, requires container-managed transactions, and uses a foreign JMS provider. Only one thread will be used to receive and process all messages.>
    <Feb 22, 2011 4:25:17 PM CST> <Warning> <EJB> <BEA-010096> <The Message-Driven EJB: RequestEJB-6379926953434238165--37f2a5df.12e4f78ff7c.-7fda is unable to connect to the JMS destination or bind to JCA resource adapter: jms.etBannerFromRMS. Connection failed after 2 attempts. The MDB will attempt to reconnect/rebind every 10 seconds. This log message will repeat every 600 seconds until the condition clears.>
    <Feb 22, 2011 4:25:17 PM CST> <Warning> <EJB> <BEA-010061> <The Message-Driven EJB: RequestEJB-6379926953434238165--37f2a5df.12e4f78ff7c.-7fda is unable to connect to the JMS destination: jms.etBannerFromRMS. The Error was:
    oracle.jms.AQjmsException: ORA-24047: invalid agent name RequestEJB-6379926953434238165, agent name should be of the form NAME
    ORA-06512: at "SYS.DBMS_AQADM_SYS", line 6234
    ORA-06512: at line 1
    ORA-06512: at "SYS.DBMS_AQJMS", line 129
    ORA-06512: at line 1
    Nested exception: java.sql.SQLException: ORA-24047: invalid agent name RequestEJB-6379926953434238165, agent name should be of the form NAME
    ORA-06512: at "SYS.DBMS_AQADM_SYS", line 6234
    ORA-06512: at line 1
    ORA-06512: at "SYS.DBMS_AQJMS", line 129
    ORA-06512: at line 1
    >
    <Feb 22, 2011 4:25:27 PM CST> <Warning> <EJB> <BEA-010081> <The message-driven bean RequestEJB-6379926953434238165--37f2a5df.12e4f78ff7c.-7fda was configured to use a JMS Topic, requires container-managed transactions, and uses a foreign JMS provider. Only one thread will be used to receive and process all messages.>
    <Feb 22, 2011 4:25:37 PM CST> <Warning> <EJB> <BEA-010081> <The message-driven bean RequestEJB-6379926953434238165--37f2a5df.12e4f78ff7c.-7fda was configured to use a JMS Topic, requires container-managed transactions, and uses a foreign JMS provider. Only one thread will be used to receive and process all messages.>
    <Feb 22, 2011 4:25:47 PM CST> <Warning> <EJB> <BEA-010081> <The message-driven bean RequestEJB-6379926953434238165--37f2a5df.12e4f78ff7c.-7fda was configured to use a JMS Topic, requires container-managed transactions, and uses a foreign JMS provider. Only one thread will be used to receive and process all messages.>
    Thanks,
    Prantor

    Are you using an IP address for the AQ datasource host instead of a hostname ?
    A search on ora-24047 revealed this thread http://kr.forums.oracle.com/forums/thread.jspa?threadID=431416 which states problem could be with using IP address.

  • Problem with transacted JMS connection factory and transaction timeouts

              We encountered an interesting problem using transacted JMS connection factories.
              An EJB starts a container managed transaction and tries to validate a credit card
              before creating some information to a database for the user, in case of success
              an SMS is sent to the user via the transacted JMS queue. If the credit card authentications
              duration is about the same as the transactions timeout (in this case the default
              30 seconds) sometimes the database inserts is committed but the JMS insert is
              rollbacked. How can this be?
              If the authorization duration is much longer than 30 seconds everything works
              fine (both database and JMS inserts rollbacked), the same is true if a rollback
              is insured by calling EJBContext.setRollbackOnly(). The problem thus occurs only
              if the duration is approximately the same as the transaction timeout, it appears
              that the database insert is not timeouted but the JMS insert is. How can this
              be if they are both participating in the same transaction.
              The JMSConnectionFactory used is a Connection factory with XA-enabled. The result
              is the same also with the default "javax.jms.QueueConnectionFactory" and if we
              configure our own factory with user transactions enabled.
              Any help appreciated!
              

    Tomas Granö wrote:
              > We encountered an interesting problem using transacted JMS connection factories.
              > An EJB starts a container managed transaction and tries to validate a credit card
              > before creating some information to a database for the user, in case of success
              > an SMS is sent to the user via the transacted JMS queue. If the credit card authentications
              > duration is about the same as the transactions timeout (in this case the default
              > 30 seconds) sometimes the database inserts is committed but the JMS insert is
              > rollbacked. How can this be?
              It should not be.
              >
              > If the authorization duration is much longer than 30 seconds everything works
              > fine (both database and JMS inserts rollbacked), the same is true if a rollback
              > is insured by calling EJBContext.setRollbackOnly(). The problem thus occurs only
              > if the duration is approximately the same as the transaction timeout, it appears
              > that the database insert is not timeouted but the JMS insert is. How can this
              > be if they are both participating in the same transaction.
              >
              > The JMSConnectionFactory used is a Connection factory with XA-enabled. The result
              > is the same also with the default "javax.jms.QueueConnectionFactory" and if we
              > configure our own factory with user transactions enabled.
              >
              > Any help appreciated!
              Make sure that your session is not "transacted". In other words,
              the first parameter to createSession() must be false. There is an
              unfortunate name re-use here. If a session is "transacted", it
              maintains an independent "inner transaction" independent of the
              outer transaction. From the above description, it seems unlikely
              that your application has this wrong, as you say that
              "setRollbackOnly" works - but please check anyway.
              Make sure that you are using a true XA capable driver and database
              (XA "emulation" may not suffice)
              Beyond the above, I do not see what can be going wrong. You
              may want to try posting to the transactions and jdbc newsgroups. Note
              that JMS is appears to be exhibiting the correct behavior, but the
              JDBC operation is not. The JDBC operation appears to have
              its timeout independent of the transaction monitor's timeout.
              Tom
              

  • Distributed JMS help using topic - can it do this?

    Using Weblogic 10.0, what is the a suggested configuration for having 2 apps in a cluster, where one creates messages in a distributed topic and another (a servlet) reads those messages? Messages need to be acknowleged and removed once read regardless of which managed server the user is on.
              Currently, I have a cluster of managed servers with a Uniform Distributed Topic, and I need a user to read a message just once regardless of which managed server he uses.
              I have 2 Ears - one creates messages, and another is a servlet that allows a user to read a message.
              My reader has a listener that subscribes on startup - like this:
              tconFactory.createTopicConnection(...);
              connection.createTopicSession(...)
              session.createSubscriber (...)
              It does a readNoWait() if a user clicks on a button. Another app puts messages in the topic.
              I want the user to read the message once (any only once) regardless of which managed server he is on.
              The way it is working is that if a user switches from one managed server to another he sees old messages he already read.
              Also, I tried using the module!queuename JNDI name but I get an exception. I have to just use the "regular" topic name.
              Any help appreciated!
              thanks in advance
              Edited by dantill at 05/16/2008 8:12 AM

    So in a clustered environment, if a user is reading (and acknowledging) messages from a topic and that user is "load balanced" to another managed server on the cluster, he will see messages he already acknowledged?                     No - things don't work this way, unless the user is attaching to two different durable subscriptions. You may want to pick up a book on JMS, or study up on the Sun tutorials, and pay special attention to the difference between queues and topics, and the difference between "non-durable" and "durable" topic subscribers. It would likely help if you firmed up on these concepts before diving into the concept of distributed topics.
              The key points of WL distributed topics are:
              (1) Durable subscription can only be formed directly on a member (they can't move from member to member!), you can't specify the distributed topic JNDI name when creating a durable subscription - only the member JNDI name.
              (2) Non-durable subscriptions can specify the distributed topic JNDI name.
              (3) Just as with a non-distributed topic, every message that is sent to the distributed topic or that is sent directly to particular member is in turn delivered to every subscribers on every members.
              >>>> About Migratable targets - it may have been this statement:
              "A migratable target is a special target that can serve as a grouping of JMS services and which is active on only server member in a cluster."
              All this means is that multiple JMS services (such as JMS servers) can all target to the same MT. When the MT is migrated from one WL server to another, all related JMS servers are migrated.
              PS. Given my limited knowledge of your use case, it seems like you're looking for a distributed queue (not a topic), with a single consumer that can switch between one of two servers. Or perhaps one consumer on each server. In addition, in order to avoid "abandoning" messages on a particular queue member without consumers, there's a configurable option to have the idle member automatically forward its messages to a queue member that actually has consumers (queue forwarding option).
              Hope this helps,
              Tom

  • When using rabbitmq-jms for vFabric RabbitMQ javax.jms.Message.getJMSDestination does not return the actual destination when it is received from a consumer listening on a Topic with a wild card

    When using rabbitmq-jms for vFabric RabbitMQ javax.jms.Message.getJMSDestination does not return the actual destination when it is received from a consumer listening on a Topic with a wild card. I have tested with both 1.0.3 and 1.0.5 clients with RabbitMQ 3.1.5.
    I was wondering if the community was aware of this problem and if there are any workarounds? If not what is the proper channel to file a bug report. An example code snippet is below. The test fails because the TextMessageMatcher expects the destination passed in on construction (second parameter) to equal the desination on the message received (aquired from getJMSDestination).
            Mockery context = new Mockery();
            final MessageListener messageListener = context.mock(MessageListener.class);
            final Latch latch = new LatchImpl();
            final String prefix = "test" + System.currentTimeMillis();
            context.checking(new Expectations() {
                    oneOf(messageListener).onMessage(with(new TextMessageMatcher("MSG1", prefix + ".1234")));
                    will(new CustomAction("release latch") {
                        @Override
                        public Object invoke(Invocation invocation) throws Throwable {
                            latch.unlatch();
                            return null;
            final Connection connection = createConnection(null, null);
            Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
            connection.start();
            Topic wildcardTopic = (Topic) getInitialContext().lookup(prefix + "." + "#");
            Topic destination = (Topic) getInitialContext().lookup(prefix + ".1234");
            final MessageConsumer consumer = session.createConsumer(wildcardTopic);
            consumer.setMessageListener(messageListener);
            MessageProducer producer = session.createProducer(null);
            producer.send(destination, session.createTextMessage("MSG1"));
            latch.await(5000);
            connection.close();
            Thread.sleep(5);
            context.assertIsSatisfied();

    Check where your MDB sends the [response] messages to.

  • JMS Distributed Destination Topic - how to avoid MDB to recieve duplicates

    HELP!!
              I have spent a lot of time looking for an option to move jms on a cluster, finally I can do this using distributed destination, I have two memmbers(Topic) in the distributed destination topic, but when both of them are active, the Message Driven Bean which is deployed on cluster recieves 2 messages instead of 1, anyone please help me to change this to have only one message instead of 2 !!!!!

    Make it a Queue or don't deploy the MDB to the cluster. You are seeing
              expected behavior. I have the same situation with a Topic and I deploy my
              MDB to one node in the cluster and have it configured to consume the local
              physical Topic.
              Bill
              "Manav Sehgal" <[email protected]> wrote in message
              news:18024883.1107530318601.JavaMail.root@jserv5...
              > HELP!!
              > I have spent a lot of time looking for an option to move jms on a
              > cluster, finally I can do this using distributed destination, I have two
              > memmbers(Topic) in the distributed destination topic, but when both of
              > them are active, the Message Driven Bean which is deployed on cluster
              > recieves 2 messages instead of 1, anyone please help me to change this to
              > have only one message instead of 2 !!!!!
              

  • Creating JMS Topic using JMX/MBeans Interface

    Hello,
    I'm trying to create a JMS Topic using MBeans. For this, I first
    create a JMSTemplateMBean, then I create a JMSServerMBean (do
    setTemporaryTemplate() and addTarget() on the latter) and finally
    create JMSTopicMBean. On the JMSTopicMBean, I do setJNDIName() and
    jmsServerMBean.addDestination(topicMBean).
    Problem is that when I look in the console, I see only the JMS
    Template and JMS Server (JMS Topic is NOT there). But if I try to
    rerun my program, it gives 'InstanceAlreadyExistsException' on the
    JMSTopic. Also, when I print out all the MBeans, the JMSTopic MBean is
    there i.e. its been created. So why won't it show up in the Console ?
    Any ideas are appreciated.
    Thanks
    -PG

    I'm having exact same problem, except I'm trying to go through the weblogic.Admin command-line tool. (I'm working with version 6.1) First I create a JMSServer and set its Targets property. It shows up in console and I see the entry in config.xml. Then I create a new JMSTopic and set its JNDIName (I can't see this new topic from console, but an entry is made in config.xml and I can't create the topic again.) Then I invoke the addDestination method on the JMSServer MBean and pass in my new topic. The method returns "false", with no futher explanations or exceptions. If I try to go through the setDestinations property of the JMSServer MBean, the same thing happens: a silent failure.
    I have no idea what to do! Is this a bug? Has anyone ever succeeded in doing this sort of thing?

  • Problem using file based JNDI with JMS Bridge, WL 6.1sp3

              I am trying to connect an MQ queue to a Weblogic JMS queue using the JMS bridge,
              WLS6.1sp3. I have the CR081404_61sp3.jar and CR081511_61sp3.jar patches.
              I am having trouble getting the bridge to look up the MQ queue in the file based
              JNDI. According to the log it is trying to use a weblogic.jndi.WLInitialContextFactory
              instead of a com.sun.jndi.fscontext.RefFSContextFactory, which is what it is configured
              to use. I am getting the following error:
              <Sep 29, 2002 12:16:22 PM EDT> <Info> <MessagingBridge> <Bridge "Provd Messaging
              Bridge" is getting the connections to the two adapters.>
              <Sep 29, 2002 12:16:22 PM EDT> <Debug> <MessagingBridge> <Messaging Bridge Debugging
              RUNTIME! Bridge Provd Messaging Bridge In getConnections: isStopped = false>
              <Sep 29, 2002 12:16:22 PM EDT> <Debug> <MessagingBridge> <Messaging Bridge Debugging
              RUNTIME! Bridge Provd Messaging Bridge Getting source connection: sourceConnSpec
              = weblogic.jms.adapter.JMSConnectionSpec@27166f>
              <Sep 29, 2002 12:16:22 PM EDT> <Info> <Connector> <Unable to locate context: java:/comp/env/wls-connector-resref>
              <Sep 29, 2002 12:16:22 PM EDT> <Info> <Connector> <Unable to determine Resource
              Principal for Container Managed Security Context.>
              <Sep 29, 2002 12:16:22 PM EDT> <Info> <Connector> <Unable to locate context: java:/comp/env/wls-connector-resref>
              <Sep 29, 2002 12:16:22 PM EDT> <Info> <Connector> <Unable to determine Resource
              Principal for Container Managed Security Context.>
              <Sep 29, 2002 12:16:22 PM EDT> <Warning> <Connector> << Weblogic Messaging Bridge
              Adapter (XA) > ResourceAllocationException of javax.resource.ResourceException:
              ConnectionFactory: failed to get initial context (InitialContextFactory =weblogic.jndi.WLInitialContextFactory,
              url = file:/opt/mqm/java/mq-jndi, user name = guest, password = guest on createManagedConnection.>
              <Sep 29, 2002 12:16:22 PM EDT> <Error> <Connector> <Error granting connection
              request.>
              <Sep 29, 2002 12:16:22 PM EDT> <Info> <MessagingBridge> <Bridge "Provd Messaging
              Bridge" failed to connect to the source destination and will try again in 25 seconds.
              (javax.resource.spi.ResourceAllocationException: CreateManagedConnection Error:
              ConnectionFactory: failed to get initial context (InitialContextFactory =weblogic.jndi.WLInitialContextFactory,
              url = file:/opt/mqm/java/mq-jndi, user name = guest, password = guest)>
              <
              The configuration of the bridge, printed out in the log, is:
              <Sep 29, 2002 12:16:00 PM EDT> <Debug> <MessagingBridge> <Messaging Bridge Debugging
              STARTUP! Bridge Provd Messaging Bridge's source properties are:
              AdapterJNDIName=eis.jms.WLSConnectionFactoryJNDIXA
              Classpath=null
              ConnectionFactoryJNDIName = PMS.mqQcf
              ConnectionURL = file:/opt/mqm/java/mq-jndi
              InitialConnectionFactory = com.sun.jndi.fscontext.RefFSContextFactory
              DestinationType = Queue
              DestinationJNDIName = PMS.mqProvdRequest>
              <Sep 29, 2002 12:16:00 PM EDT> <Debug> <MessagingBridge> <Messaging Bridge Debugging
              STARTUP! Bridge Provd Messaging Bridge's target properties are:
              AdapterJNDIName=eis.jms.WLSConnectionFactoryJNDIXA
              Classpath=null
              DestinationType = Queue>
              Am I correct in assuming it should be using the fscontext connection factory?
              Why is it using the weblogic one?
              Jason
              

    CR081511_61sp3.jar patch should fix the problem. Make sure that the
              jar file is picked up. It should be put before other weblogic jar files.
              You should be able to tell if it is picked up by looking at the first
              couple of lines of your server log file.
              Dongbo
              Jason Kriese wrote:
              >
              > I am trying to connect an MQ queue to a Weblogic JMS queue using the JMS bridge,
              > WLS6.1sp3. I have the CR081404_61sp3.jar and CR081511_61sp3.jar patches.
              >
              > I am having trouble getting the bridge to look up the MQ queue in the file based
              > JNDI. According to the log it is trying to use a weblogic.jndi.WLInitialContextFactory
              > instead of a com.sun.jndi.fscontext.RefFSContextFactory, which is what it is configured
              > to use. I am getting the following error:
              >
              > <Sep 29, 2002 12:16:22 PM EDT> <Info> <MessagingBridge> <Bridge "Provd Messaging
              > Bridge" is getting the connections to the two adapters.>
              > <Sep 29, 2002 12:16:22 PM EDT> <Debug> <MessagingBridge> <Messaging Bridge Debugging
              > RUNTIME! Bridge Provd Messaging Bridge In getConnections: isStopped = false>
              > <Sep 29, 2002 12:16:22 PM EDT> <Debug> <MessagingBridge> <Messaging Bridge Debugging
              > RUNTIME! Bridge Provd Messaging Bridge Getting source connection: sourceConnSpec
              > = weblogic.jms.adapter.JMSConnectionSpec@27166f>
              > <Sep 29, 2002 12:16:22 PM EDT> <Info> <Connector> <Unable to locate context: java:/comp/env/wls-connector-resref>
              >
              > <Sep 29, 2002 12:16:22 PM EDT> <Info> <Connector> <Unable to determine Resource
              > Principal for Container Managed Security Context.>
              > <Sep 29, 2002 12:16:22 PM EDT> <Info> <Connector> <Unable to locate context: java:/comp/env/wls-connector-resref>
              >
              > <Sep 29, 2002 12:16:22 PM EDT> <Info> <Connector> <Unable to determine Resource
              > Principal for Container Managed Security Context.>
              > <Sep 29, 2002 12:16:22 PM EDT> <Warning> <Connector> << Weblogic Messaging Bridge
              > Adapter (XA) > ResourceAllocationException of javax.resource.ResourceException:
              > ConnectionFactory: failed to get initial context (InitialContextFactory =weblogic.jndi.WLInitialContextFactory,
              > url = file:/opt/mqm/java/mq-jndi, user name = guest, password = guest on createManagedConnection.>
              >
              > <Sep 29, 2002 12:16:22 PM EDT> <Error> <Connector> <Error granting connection
              > request.>
              > <Sep 29, 2002 12:16:22 PM EDT> <Info> <MessagingBridge> <Bridge "Provd Messaging
              > Bridge" failed to connect to the source destination and will try again in 25 seconds.
              > (javax.resource.spi.ResourceAllocationException: CreateManagedConnection Error:
              > ConnectionFactory: failed to get initial context (InitialContextFactory =weblogic.jndi.WLInitialContextFactory,
              > url = file:/opt/mqm/java/mq-jndi, user name = guest, password = guest)>
              > <
              >
              > The configuration of the bridge, printed out in the log, is:
              >
              > <Sep 29, 2002 12:16:00 PM EDT> <Debug> <MessagingBridge> <Messaging Bridge Debugging
              > STARTUP! Bridge Provd Messaging Bridge's source properties are:
              > AdapterJNDIName=eis.jms.WLSConnectionFactoryJNDIXA
              > Classpath=null
              > ConnectionFactoryJNDIName = PMS.mqQcf
              > ConnectionURL = file:/opt/mqm/java/mq-jndi
              > InitialConnectionFactory = com.sun.jndi.fscontext.RefFSContextFactory
              > DestinationType = Queue
              > DestinationJNDIName = PMS.mqProvdRequest>
              > <Sep 29, 2002 12:16:00 PM EDT> <Debug> <MessagingBridge> <Messaging Bridge Debugging
              > STARTUP! Bridge Provd Messaging Bridge's target properties are:
              > AdapterJNDIName=eis.jms.WLSConnectionFactoryJNDIXA
              > Classpath=null
              > DestinationType = Queue>
              >
              > Am I correct in assuming it should be using the fscontext connection factory?
              > Why is it using the weblogic one?
              >
              > Jason
              

  • 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
              

Maybe you are looking for

  • Error ITMS-9000 "File given does not match type: PNG image"

    Has anyone been able to solve this problem. All my images are PNG format. I am not sure if there is a problem with the cover or the body. This error was produced in iTunes Producer. Appreciate any help. Thanks. K

  • What is Special purpose ledger where it can be used

    Hi! Dear FI-CO  Guru's                    Can u describe about special purpose ledger conceptully and where it can be used, what is object of this ledger. Thank u Advance Best&warm regards Guru Edited by: Guru Prasad on Feb 11, 2009 3:14 PM

  • Early 2008 mac pro has an infrared sensor?

    early 2008 mac pro has an infrared sensor?

  • File Select Popup not restricing multiple file types

    I have a Bitmap picture in which I call GetBitmapFromFile right after this popupfile select.  So I want the user to pick one of the folowing filetypes seen below. I have the following call FileSelectPopup ("", "*.*", "*.tif;*.pcx;*.bmp;*.dib;*.rle;*.

  • Problem with SymTorrent

    I use Nokia C6-01 with Symbian Belle Refresh. I downloaded and installed symtorrent from http://amorg.aut.bme.hu/files/projects/SymTorrent/downloads/SymTorrent_1.51_2012-10-28.sisx. During installation I got a 'not compatible' warning. So I contacted