Looking up JMS destinations with clustered WLS

          From scanning the postings, it appears that in a clustered WLS environment, the
          JMS servers are not clustered. As a result, the JMS destinations must be unique
          across all of the WLS in the cluster. In addition, there is no failover available
          when a JMS server goes down.
          With that stated, what I want to know is:
          When establishing a JMS connection with a JMS server in a WLS cluster, do I need
          to know the JNDI URL for each specific JMS server that is managing the destination(s)
          I wish to pub/sub?
          Or, is there a 'global' JNDI tree that I can reference and the clustered WLS behind
          the scenes will route me to the appropriate JMS server?
          If resolving the URL is a manual process, I will need to keep track of which destinations
          reside on which JMS servers. This adds an additional maintenance point that I
          would like to avoid if possible.
          Thanks,
          Bob.
          

One can use Connection Factory to establish connection to particular
          destination (queue/topic). connection factories are clustered. so, one don't
          need to have knowledge of particular WLS.
          "Neal Yin" <[email protected]> wrote in message
          news:[email protected]...
          > Although there is only one JMS server instance, you can lookup it from
          > anywhere in a cluster.
          > In another words, JNDI tree is global in a WLS cluster. Just give cluster
          > DNS name in your
          > URL, you will be fine.
          >
          > -Neal
          >
          >
          > "Bob Peroutka" <[email protected]> wrote in message
          > news:[email protected]...
          > >
          > > From scanning the postings, it appears that in a clustered WLS
          > environment, the
          > > JMS servers are not clustered. As a result, the JMS destinations must
          be
          > unique
          > > across all of the WLS in the cluster. In addition, there is no failover
          > available
          > > when a JMS server goes down.
          > >
          > > With that stated, what I want to know is:
          > >
          > > When establishing a JMS connection with a JMS server in a WLS cluster,
          do
          > I need
          > > to know the JNDI URL for each specific JMS server that is managing the
          > destination(s)
          > > I wish to pub/sub?
          > >
          > > Or, is there a 'global' JNDI tree that I can reference and the clustered
          > WLS behind
          > > the scenes will route me to the appropriate JMS server?
          > >
          > > If resolving the URL is a manual process, I will need to keep track of
          > which destinations
          > > reside on which JMS servers. This adds an additional maintenance point
          > that I
          > > would like to avoid if possible.
          > >
          > > Thanks,
          > >
          > > Bob.
          > >
          > >
          > >
          >
          >
          

Similar Messages

  • XA transactions with JMS connector (with BEA WLS)

    Hello,
    are XA transactions supported by JMS connector when communicating with BEA WLS (version 8.1)?
    Thanks
    Tomas

    Hi
    Yes
    Check this JMS FAQ
    http://www.google.com/url?sa=t&ct=res&cd=1&url=https%3A%2F%2Fwww.sdn.sap.com%2Firj%2Fsdn%2Fgo%2Fportal%2Fprtroot%2Fdocs%2Flibrary%2Fuuid%2F604e2b64-e689-2910-64b3-ffd650f83756&ei=LcmERubLL4fgsALL6snWDw&usg=AFQjCNHbiooj-7G5g6w4tVVZQiRuQ5XQ_A&sig2=tpxbhUpIKR5oSe3aab8h4w
    regards
    krishna

  • Looking up JMS destinations

    How do you create/edit/look up the password for executing
    this command in the application server:
    $ORACLE_HOME/j2ee/home#
    java com.evermind.server.jms.JMSUtils -username admin
    -password ??? destinations
    I have tried every possible password but i still get :
    javax.jms.JMSException:Unable to create a connection to HOSTNAME as user "admin".
    Can anyone please tell me what do i need to enter the value for password or how to create a new one. I have tried ias_admin password value. i have also tried resetting the password (java -jar oc4j.jar install). But any of the above values do not work. I need the value for the password for using it in my JMS applications.
    Thanks

    I see the same problem when I try to send a message to a Queue on Oracle AS 10G Java Edition (9.0.4).
    I lookup the queue using JNDI with the following properties
    env.put(Context.INITIAL_CONTEXT_FACTORY, "com.evermind.server.rmi.RMIInitialContextFactory");
    env.put(Context.SECURITY_PRINCIPAL, "jazn.com/admin");
    env.put(Context.SECURITY_CREDENTIALS, "welcome");
    env.put(Context.PROVIDER_URL, "opmn:ormi://172.16.3.250:6003:home");
    Using the above jndi properties I am able to lookup the QueueConnectionFactory and the Queue but when I try to invoke
    queue.createConnection() ;
    I get the error that says that
    javax.jms.JMSException:Unable to create a connection to HOSTNAME as user "null".
    So I tried
    queue.createConnection("jazn.com/admin","welcome");
    and then I get the following error
    javax.jms.JMSException:Unable to create a connection to HOSTNAME as user "jazn.com/admin".
    Has anyone sent a message to a queue running on the Oracle AS 10G (not oc4j standalone) from a remote client ???

  • MDB cannot connect to JMS destination using Foreign Server

    Hi everyone,
    I have configured foreign jms server in weblogic but when MDB tries to connect to specific queue, it gets the following exception:
    I would really appreciate if anyone could help me.
    <Sep 28, 2012 5:23:34 PM CEST> <Warning> <EJB> <BEA-010096> <The Message-Driven EJB: SmsReceiver is unable to connect to the JMS destination or bind to JCA resource adapter: xcg2/smsInQueue. 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.>
    <Sep 28, 2012 5:23:34 PM CEST> <Warning> <EJB> <BEA-010061> <The Message-Driven EJB: SmsReceiver is unable to connect to the JMS destination: xcg2/smsInQueue. The Error was:
    [EJB:011010]The JMS destination with the JNDI name: jmsxcg.out could not be found. Please ensure that the JNDI name in the weblogic-ejb-jar.xml or corresponding annotation is correct, and the JMS destination has been deployed.
    javax.naming.InvalidNameException: jmsxcg.out: [LDAP: error code 34 - Invalid DN]; remaining name 'jmsxcg.out' NestedException Message is :jmsxcg.out: [LDAP: error code 34 - Invalid DN]>
    MDB annotation looks like this:
    @MessageDriven(name="SmsReceiver", mappedName="xcg2/smsInQueue",
    activationConfig = {
    @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue")
    @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
    public class SmsReceiverBean implements MessageListener
    weblogic-ejb-jar.xml excerpt:
         <weblogic-enterprise-bean>
              <ejb-name>SmsReceiver</ejb-name>
              <message-driven-descriptor>
                   <pool>
                        <max-beans-in-free-pool>10</max-beans-in-free-pool>
                        <initial-beans-in-free-pool>5</initial-beans-in-free-pool>
                   </pool>
                   <connection-factory-jndi-name>echoQueueConnectionFactory</connection-factory-jndi-name>
              </message-driven-descriptor>
              <transaction-descriptor>
                   <trans-timeout-seconds>600</trans-timeout-seconds>
              </transaction-descriptor>
    <dispatch-policy>MdbSmsWorkManager</dispatch-policy>
         </weblogic-enterprise-bean>
    and the configuration of foreign-server:
    <?xml version="1.0" encoding="UTF-8"?>
    <weblogic-jms xmlns="http://www.bea.com/ns/weblogic/weblogic-jms">
    <foreign-server name="serverr">
    <sub-deployment-name>Subdeployment</sub-deployment-name>
    <foreign-destination name="sms queue>
    <local-jndi-name>xcg2/smsInQueue</local-jndi-name>
    <remote-jndi-name>jmsxcg.out</remote-jndi-name>
    </foreign-destination>
    <foreign-connection-factory name="Connection Factory">
    <local-jndi-name>echoQueueConnectionFactory</local-jndi-name>
    <remote-jndi-name>QueueConnectionFactory</remote-jndi-name>
    </foreign-connection-factory>
    <initial-context-factory>com.tibco.tibjms.naming.TibjmsInitialContextFactory</initial-context-factory>
    <connection-url>tibjmsnaming://xx.xx.xx.xx:7222</connection-url>
    </foreign-server>
    </weblogic-jms>
    PS. I'm able to connect to the weblogic jndi, get connectionFactory echoQueueConnectionFactory, then lookup queue and grab messages so that's i suspect there is something wrong with configuration

    Hmm - I'm not sure what's going on. Two thoughts --
    Thought 1 - According to my (admittedly minimal) research, Tibco is complaining about a syntax error in the lookup name. Perhaps the problem has something to do with your use of a "." in the queue name "jmsxcg.out": WL or Tibco JNDI might be interpreting the "." as a subcontext or some-such. Perhaps try renaming the queue to "jmsxcg_out" throughout (in Tibco and in your Foreign JMS reference).
    Thought 2 - It probably won't make a difference, but you might want try specifying the source destination via the "destinationJndiName" config property instead of via "mappedName".
    @MessageDriven(
      name = "MyMDB",
      activationConfig = {
        @ActivationConfigProperty(propertyName  = "destinationType",
                                  propertyValue = "javax.jms.Queue"),
        @ActivationConfigProperty(propertyName  = "destinationJndiName",
                                  propertyValue = "MyQueue") // Ext. JNDI Name
    )HTH,
    Tom

  • Using a Foreign JMS Destination as a JMS Event Generator Subscription

    NOTE THIS IS BUMPED UP FROM ROBERT NORTON'S POST. I am having the same
    problem here. From the wliconsole, the only queues listed to have events
    generated from are local ones.
    Hello,
    I'm trying to create a workflow that is started by a JMS message queue
    event.
    I'm trying to use the WLIJMSEventGenTool in WebLogic 8.1 to listen to a
    queue
    on a remote WebLogic 8.1 installation, publish the incoming messages to
    a channel,
    then initiate a workflow by subscribing to that channel. Here's a copy
    of my configuration
    file for the tool:
    <message-broker-jms-event-generator-def
    source-jndi-name="SearchInputQueue"> <channel
    name="/srm/sInput/sInput" /> </message-broker-jms-event-generator-def >
    I tried to tackle this by configuring a foreign JMS Server, Connection
    Factory,
    and Destination using the Weblogic Admin Console. Below are the
    parameters I used
    to define the remote connection
    Foreign JMS Server:
    jndi initial context factory: weblogic.jndi.WLInitialContextFactory jndi
    connection
    url: //OPER1090:7001
    Foreign connection factory:
    local jndi name: FtsFactory remote jndi name:
    weblogic.jws.jms.QueueConnectionFactory
    (Are username and password required?)
    Foreign JMS Destination:
    local jndi name: SearchInputQueue remote jndi name:
    InternalSearchInputQueue
    After I try to deploy my generated JMS Event jar, I receive the
    following error:
    <Jun 6, 2003 10:31:50 AM EDT> <Warning> <EJB> <BEA-010061> <The
    Message-Driven
    E JB: SearchInputQueue-UnorderedMessageListener is unable to connect to
    the JMS
    de stination: SearchInputQueue. The Error was: [EJB:011010]The JMS
    destination
    with the JNDI name: SearchInputQueue could not b e found. Please ensure
    that the
    JNDI name in the weblogic-ejb-jar.xml is correct , and the JMS
    destination has
    been deployed.>
    I'm pretty sure the problem is simply that my syntax is off somewhere in
    my configuration.
    I found the existing BEA documentation to be a bit too generic,
    containing no
    specific examples of the proper syntax to use for this task. Can anyone
    offer
    any advice or better, a working example? Any BEA reps out there?

    NOTE THIS IS BUMPED UP FROM ROBERT NORTON'S POST. I am having the same
    problem here. From the wliconsole, the only queues listed to have events
    generated from are local ones.
    Hello,
    I'm trying to create a workflow that is started by a JMS message queue
    event.
    I'm trying to use the WLIJMSEventGenTool in WebLogic 8.1 to listen to a
    queue
    on a remote WebLogic 8.1 installation, publish the incoming messages to
    a channel,
    then initiate a workflow by subscribing to that channel. Here's a copy
    of my configuration
    file for the tool:
    <message-broker-jms-event-generator-def
    source-jndi-name="SearchInputQueue"> <channel
    name="/srm/sInput/sInput" /> </message-broker-jms-event-generator-def >
    I tried to tackle this by configuring a foreign JMS Server, Connection
    Factory,
    and Destination using the Weblogic Admin Console. Below are the
    parameters I used
    to define the remote connection
    Foreign JMS Server:
    jndi initial context factory: weblogic.jndi.WLInitialContextFactory jndi
    connection
    url: //OPER1090:7001
    Foreign connection factory:
    local jndi name: FtsFactory remote jndi name:
    weblogic.jws.jms.QueueConnectionFactory
    (Are username and password required?)
    Foreign JMS Destination:
    local jndi name: SearchInputQueue remote jndi name:
    InternalSearchInputQueue
    After I try to deploy my generated JMS Event jar, I receive the
    following error:
    <Jun 6, 2003 10:31:50 AM EDT> <Warning> <EJB> <BEA-010061> <The
    Message-Driven
    E JB: SearchInputQueue-UnorderedMessageListener is unable to connect to
    the JMS
    de stination: SearchInputQueue. The Error was: [EJB:011010]The JMS
    destination
    with the JNDI name: SearchInputQueue could not b e found. Please ensure
    that the
    JNDI name in the weblogic-ejb-jar.xml is correct , and the JMS
    destination has
    been deployed.>
    I'm pretty sure the problem is simply that my syntax is off somewhere in
    my configuration.
    I found the existing BEA documentation to be a bit too generic,
    containing no
    specific examples of the proper syntax to use for this task. Can anyone
    offer
    any advice or better, a working example? Any BEA reps out there?

  • Error connecting WLS 10.3.1 JMS & MDBs with Oracle Advanced Queuing

    I followed the guide at http://blogs.oracle.com/imc/2010/12/how_to_use_oracle_aq_with_message-driven_beans_in_weblogic.html. Since the AQ queues were already set up by SAs and had been working with stateless session beans, I assume they're OK for use with MDBs. Names had to be changed in the WLS foreign server definition, destinations & connection factories to match.
    My MDB is:
    package xxxx;
    import javax.ejb.MessageDriven;
    import javax.jms.JMSException;
    import javax.jms.Message;
    import javax.jms.MessageListener;
    import javax.jms.TextMessage;
    @MessageDriven(name = "TestQueueListenerEJB")
    public class TestQueueListener implements MessageListener
    public void onMessage(Message message)
    if ( message instanceof TextMessage )
    try
    System.out.println("AQMDBTest: text message " + ((TextMessage)message).getText() + " processed");
    catch (JMSException e)
    e.printStackTrace();
    else
    System.out.println("AQMDBTest: generic message " + message.toString() +
    " of type " + message.getClass().getName() + " processed");
    And the relevant portion of the weblogic-ejb-jar.xml is:
    <weblogic-enterprise-bean>
    <ejb-name>TestQueueListenerEJB</ejb-name>
    <message-driven-descriptor>
    <pool>
    <max-beans-in-free-pool>1</max-beans-in-free-pool>
    <initial-beans-in-free-pool>1</initial-beans-in-free-pool>
    </pool>
    <destination-jndi-name>TestQueue</destination-jndi-name>
    <connection-factory-jndi-name>TestQueueConnectionFactory</connection-factory-jndi-name>
    </message-driven-descriptor>
    </weblogic-enterprise-bean>
    So when I deploy this to my test domain I get an error:
    <Feb 23, 2011 3:11:28 PM CST> <Warning> <EJB> <BEA-010061> <The Message-Driven EJB: TestQueueListenerEJB is unable to connect to the
    JMS destination: TestQueue. The Error was:
    Can not get destination information. The destination JNDI name is TestQueue, the provider URL is null>
    The test connection of the datasource is successful.
    What else could I have wrong? This is my first post to this topic. Please let me know what additional information I need to provide about this. Or if I've provided too much.
    Thanks very much,
    Jim Greetham

    OK. So I got my DBAs to create a new user with the necessary privs. Created a new queue, table, etc. I have been able to receive messages from it. So I have some looking to do in my production database queue definitions.
    Jim

  • Configuring WL JMS as a foreign JMS provider with security scope (WLS 8.1)

    Hello, i have a problem accessing a queue from a foreign jms provider, if the queue has a security policy. I have the following scenario:
              1) Server server1 in domain1 (WLS81) has a JMS Server with one queue queue1 with a security policy "Caller is a member of the group GROUP_QUEUE". There is also a user USER_QUEUE user defined, which belongs to the this group.
              There is also a ConnectionFactory with "XA Connection Factory Enabled = true" configured.
              The queue and the connection factory are visible in the jndi tree of this server.
              2) Server server2 has a foreign jms server. Foreign JMSConnectionFactory and foreign JMSDestination refer to the jndi entries of server 1. For Foreign JMS Connection Factory username is set to USER_QUEUE. JNDI entries for foreign references are visible in jndi tree of this server.
              I wrote a standalone client to store messages in the queue accessing server1 with USER_QUEUE sucessfully.
              Now I try to deploy a MDB on server2 accessing the queue on server 1. I tried different versions of ejb-jar.xml/weblogic-ejb-jar.xml to access the queue, but with no luck.
              scenario a): no security entries in both descriptors; weblogic-descr has entries <destination-jndi-name> and <connection-factory-jndi-name> pointing to the local jndi names. REsult:
              <11.02.2005 19.16 Uhr CET> <Warning> <EJB> <BEA-010061> <The Message-Driven EJB:
              CancelEasyMoneyBean is unable to connect to the JMS destination: prepaid.Cancel
              EasyMoneyQueue. The Error was:
              [EJB:010196]'weblogic.jms.common.JMSSecurityException: Access denied to resource
              : type=<jms>, application=, destinationType=queue, resource=CancelEasyMoneyQueue
              , action=receive' Linked exception = 'weblogic.jms.common.JMSSecurityException:
              Access denied to resource: type=<jms>, application=, destinationType=queue, reso
              urce=CancelEasyMoneyQueue, action=receive'
              So entering username and password for ForeignJMSConnectionFactory doesn't do the trick.
              scenario b:) trying to set additional security entries in both descriptors. I added a role queueUser to my mdb and to weblogic-descr a
              <security-role-assignment>
              <role-name>queueUser</role-name>
              <principal-name>USER_QUEUE<principal-name>
              </security-role-assignment>
              I added the user USER_QUEUE and the group GROUP_QUEUE to server2.
              Now server 1 throws exception after redeployment on server 2:
              java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[USER_QUEUE, GROUP_QUEUE].
              java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[USER_QUEUE, GROUP_QUEUE]
              at weblogic.security.service.SecurityServiceManager.seal(SecurityService
              Manager.java:680)
              Has anybody an idea or a pointer how to define access from a mdb to a foreign queue using security ?
              Thanks in advance,
              Rainer

    Hello, i have a problem accessing a queue from a foreign jms provider, if the queue has a security policy. I have the following scenario:
              1) Server server1 in domain1 (WLS81) has a JMS Server with one queue queue1 with a security policy "Caller is a member of the group GROUP_QUEUE". There is also a user USER_QUEUE user defined, which belongs to the this group.
              There is also a ConnectionFactory with "XA Connection Factory Enabled = true" configured.
              The queue and the connection factory are visible in the jndi tree of this server.
              2) Server server2 has a foreign jms server. Foreign JMSConnectionFactory and foreign JMSDestination refer to the jndi entries of server 1. For Foreign JMS Connection Factory username is set to USER_QUEUE. JNDI entries for foreign references are visible in jndi tree of this server.
              I wrote a standalone client to store messages in the queue accessing server1 with USER_QUEUE sucessfully.
              Now I try to deploy a MDB on server2 accessing the queue on server 1. I tried different versions of ejb-jar.xml/weblogic-ejb-jar.xml to access the queue, but with no luck.
              scenario a): no security entries in both descriptors; weblogic-descr has entries <destination-jndi-name> and <connection-factory-jndi-name> pointing to the local jndi names. REsult:
              <11.02.2005 19.16 Uhr CET> <Warning> <EJB> <BEA-010061> <The Message-Driven EJB:
              CancelEasyMoneyBean is unable to connect to the JMS destination: prepaid.Cancel
              EasyMoneyQueue. The Error was:
              [EJB:010196]'weblogic.jms.common.JMSSecurityException: Access denied to resource
              : type=<jms>, application=, destinationType=queue, resource=CancelEasyMoneyQueue
              , action=receive' Linked exception = 'weblogic.jms.common.JMSSecurityException:
              Access denied to resource: type=<jms>, application=, destinationType=queue, reso
              urce=CancelEasyMoneyQueue, action=receive'
              So entering username and password for ForeignJMSConnectionFactory doesn't do the trick.
              scenario b:) trying to set additional security entries in both descriptors. I added a role queueUser to my mdb and to weblogic-descr a
              <security-role-assignment>
              <role-name>queueUser</role-name>
              <principal-name>USER_QUEUE<principal-name>
              </security-role-assignment>
              I added the user USER_QUEUE and the group GROUP_QUEUE to server2.
              Now server 1 throws exception after redeployment on server 2:
              java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[USER_QUEUE, GROUP_QUEUE].
              java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[USER_QUEUE, GROUP_QUEUE]
              at weblogic.security.service.SecurityServiceManager.seal(SecurityService
              Manager.java:680)
              Has anybody an idea or a pointer how to define access from a mdb to a foreign queue using security ?
              Thanks in advance,
              Rainer

  • Using foreign JMS providers with wls

    does anybody have a clou, where i can find that article, i think it's
              by steve felts on using foreign JMS providers with wls? i think the
              link on dev2dev is broken?
              

    The new article is called "Using Foreign JMS Providers with WLS" and it's
              here:
              http://dev2dev.bea.com/resourcelibrary/whitepapers.jsp?highlight=whitepapers
              greg
              "leopld goess" <[email protected]> wrote in message
              news:[email protected]..
              > does anybody have a clou, where i can find that article, i think it's
              > by steve felts on using foreign JMS providers with wls? i think the
              > link on dev2dev is broken?
              

  • JMS Failover with Distributed Destinations in 7.0

              How does JMS failover with distributed destinations in WL 7.0?
              In an environment using file stores for persistent messages, can a working server
              automatically pick up unprocessed and persisted messages from a failed server?
              If so, what's the best way to set this up?
              Or, is this completely manual? In other words, we have to bring up a new server
              pointing to the location of the file store from the failed server?
              

              It appears that two JMSServers cannot share the same file store and, I'm assuming,
              two file stores cannot be using the same directory for persistence.
              So the HA you're talking about is something like Veritas automatically restarting
              a server (or starting a new one) to process the messages in the persistent queue
              that were unprocessed at the time of failure with the file store residing on some
              sort of HA disk array.
              The key point is that a message once it arrives at a server must be processed
              by that server or, in the case of failure of that server, must be processed by
              a server similarly configured to the one that failed so that it picks up the unprocessed
              messages. The message can't be processed by another server in the cluster.
              Or, is there some trick that could be employed to copy from the file store of
              the failed server and repost the messages to the still operating servers?
              "Zach" <[email protected]> wrote:
              >Unless you have some sort of HA framework/hardware, this is a manual
              >operation. You either point to the existing persistent storage (shared
              >storage or JDBC connection pool), or you move the physical data.
              >
              >_sjz.
              >
              >"Jim Cross" <[email protected]> wrote in message
              >news:[email protected]...
              >>
              >>
              >> How does JMS failover with distributed destinations in WL 7.0?
              >>
              >> In an environment using file stores for persistent messages, can a
              >working
              >server
              >> automatically pick up unprocessed and persisted messages from a failed
              >server?
              >> If so, what's the best way to set this up?
              >>
              >> Or, is this completely manual? In other words, we have to bring up
              >a new
              >server
              >> pointing to the location of the file store from the failed server?
              >
              >
              

  • Phantom JMS Queues with WLST

    Hello,
    I just started using WLST, and I've written a rather long script that creates
    a JMS server and some queues, among other things.
    I based my code on the JMS server creation example, and it works perfectly as
    long as the JMS server doesn't already exist. If it does, I get output like this:
    JMS Server already exists.
    [Caching Stub]Proxy for mydomain:Name=myjs,Type=JMSServer
    *** JMSQueue with name 'myAuditQ' has been created successfully.
    JMS destination is already parented
    Setting Type
    Setting JNDIName
    Traceback (innermost last):
    File "<input>", line 1, in ?
    File "loaddm.py", line 16, in doit
    File "setupServer.py", line 274, in ?
    File "<iostream>", line 145, in set
    WLSTException: 'Error occured while performing set : Unknown Error. Use dumpStack()
    to view the error stack trace'
    The line I put the *** by is interesting because the queue that was just created
    already exists, yet the create() does not throw any exceptions.
    Once this happens, I can do something like the following to add to the confusion:
    wls:/mydomain/config> cd('JMSQueue/myAuditQ')
    wls:/mydomain/config/JMSQueue/myAuditQ> ls()
    Traceback (innermost last):
    File "<input>", line 1, in ?
    File "<iostream>", line 176, in ls
    WLSTException: 'Error occured while performing ls : Could not find an MBean
    instance while doing getAttribute. Use dumpStack() to view the error stack trace'
    wls:/mydomain/config/JMSQueue/myAuditQ> dumpStack()
    javax.management.InstanceNotFoundException: mydomain:Name=myAuditQ,Type=JMSQueue
    at weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.j
    ava:108)
    at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:138)
    at weblogic.management.internal.RemoteMBeanServerImpl_812_WLStub.getMBea
    nInfo(Unknown Source)
    at weblogic.management.scripting.InformationHandler.getAllAttributes(Inf
    ormationHandler.java:754)
    at weblogic.management.scripting.InformationHandler.la(InformationHandle
    r.java:538)
    at weblogic.management.scripting.InformationHandler.ls(InformationHandle
    r.java:146)
    at weblogic.management.scripting.WLScriptContext.ls(WLScriptContext.java
    :387)
    The code that generates this error is like this:
    try:
    r=create(cNode+'js','JMSServer')
    except Exception:
    print "JMS Server already exists."
    r=getTarget('JMSServer/'+cNode+'js')
    if clustered:
    target=getTarget('Server/'+cNode)
    try:
    r.addTarget(target)
    except Exception:
    print "JMS server is already targeted."
    print r
    for dest,attr in jms.items():
    try:
    q=create(dest+suffix,'JMS'+attr['Type'])
    except Exception:
    print "JMS Destination already exists."
    q=
    getTarget('JMS'+attr['Type']+'/'+dest+suffix)
    try:
    q.setParent(r)
    except Exception:
    print "JMS destination is already parented"
    cd('JMS'+attr['Type']+'/'+dest+suffix)
    for att, val in attr.items():
    print "Setting "+att
    if att != 'Type':
    set(att,val)
    cd('/')

    This seems to be a larger problem that I initially thought. Ideally
    weblogic server will not allow you to create an MBean with same name
    since it will collide with the unique object name for that MBean in the
    MBeanServer. From your posting I did not understand if you were able to
    create an MBean with the same name and did not get a
    InstanceAlreadyExists Exception. If you did get it then seems like there
    is a problem in the way the server is persisting the config.xml. There
    shouldn't be duplicate entries. Please file a support case [email protected].
    Thanks,
    -satya
    Justin Dossey wrote:
    (top replying because of the long post)
    It looks like this was caused by Weblogic 8 allowing WLST to create invalid domain
    configuration (config.xml). I opened config.xml up in an editor and found that
    even though I had been using Try: create(foo)/ except Exception: (getTarget(foo)),
    there were (many) duplicate entries for MBeans in config.xml. For instance, one
    Server was in there four times. Almost every Server had four or more SSL entries
    in config.xml. There were many unparented JMS Queues defined, as well-- this
    is what I believe caused my problem.
    So why does the try create actually create duplicate when an instance already
    exists?
    "Justin Dossey" <[email protected]> wrote:
    Hello,
    I just started using WLST, and I've written a rather long script that
    creates
    a JMS server and some queues, among other things.
    I based my code on the JMS server creation example, and it works perfectly
    as
    long as the JMS server doesn't already exist. If it does, I get output
    like this:
    JMS Server already exists.
    [Caching Stub]Proxy for mydomain:Name=myjs,Type=JMSServer
    *** JMSQueue with name 'myAuditQ' has been created successfully.
    JMS destination is already parented
    Setting Type
    Setting JNDIName
    Traceback (innermost last):
    File "<input>", line 1, in ?
    File "loaddm.py", line 16, in doit
    File "setupServer.py", line 274, in ?
    File "<iostream>", line 145, in set
    WLSTException: 'Error occured while performing set : Unknown Error. Use
    dumpStack()
    to view the error stack trace'
    The line I put the *** by is interesting because the queue that was just
    created
    already exists, yet the create() does not throw any exceptions.
    Once this happens, I can do something like the following to add to the
    confusion:
    wls:/mydomain/config> cd('JMSQueue/myAuditQ')
    wls:/mydomain/config/JMSQueue/myAuditQ> ls()
    Traceback (innermost last):
    File "<input>", line 1, in ?
    File "<iostream>", line 176, in ls
    WLSTException: 'Error occured while performing ls : Could not find
    an MBean
    instance while doing getAttribute. Use dumpStack() to view the error
    stack trace'
    wls:/mydomain/config/JMSQueue/myAuditQ> dumpStack()
    javax.management.InstanceNotFoundException: mydomain:Name=myAuditQ,Type=JMSQueue
    at weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.j
    ava:108)
    at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:138)
    at weblogic.management.internal.RemoteMBeanServerImpl_812_WLStub.getMBea
    nInfo(Unknown Source)
    at weblogic.management.scripting.InformationHandler.getAllAttributes(Inf
    ormationHandler.java:754)
    at weblogic.management.scripting.InformationHandler.la(InformationHandle
    r.java:538)
    at weblogic.management.scripting.InformationHandler.ls(InformationHandle
    r.java:146)
    at weblogic.management.scripting.WLScriptContext.ls(WLScriptContext.java
    :387)
    The code that generates this error is like this:
    try:
    r=create(cNode+'js','JMSServer')
    except Exception:
    print "JMS Server already exists."
    r=getTarget('JMSServer/'+cNode+'js')
    if clustered:
    target=getTarget('Server/'+cNode)
    try:
    r.addTarget(target)
    except Exception:
    print "JMS server is already targeted."
    print r
    for dest,attr in jms.items():
    try:
    q=create(dest+suffix,'JMS'+attr['Type'])
    except Exception:
    print "JMS Destination already exists."
    q=
    getTarget('JMS'+attr['Type']+'/'+dest+suffix)
    try:
    q.setParent(r)
    except Exception:
    print "JMS destination is already parented"
    cd('JMS'+attr['Type']+'/'+dest+suffix)
    for att, val in attr.items():
    print "Setting "+att
    if att != 'Type':
    set(att,val)
    cd('/')

  • Weblogic 8.1: Remote/Foreign Server JMS - Destination not found error

    Hi
    This is our current setup: Weblogic Server 8.1 with JMS module running on the same instance as the application. We would like to move JMS out into its own box. I am currently setting up my development environment to test the new setup. These are the steps I followed:
    * Setup the server instance running the application on one box (Box1). Removed the existing JMS Connection Factory and Destination JNDI setup
    * Setup a server instance on another box (Box2) without the application. Created the necessary JMS Connection Factories and Destinations. Started the server instance on Box2
    * Added a Foreign Server configuration on Box1. Created the connection factory and destinations under this foreign server pointing to Box2
    * The Foreign JNDI names are being bound correctly (I verified the JNDI tree on Box1). Restarted the server instance of Box1
    Message-Driven Beans deployed on Box1 are unable to retrieve messages from Box2. The exception thrown is given below. Any help in troubleshooting and resolving this issue is appreciated.
    <Warning> <EJB> <myserver> <main> <<WLS Kernel>> <> <BEA-010061> <The Message-Driven EJB: MyBean is unable to connect to the JMS destination: jms/my.application.firstQueue. The Error was:
    weblogic.jms.common.JMSException: Destination not found
    weblogic.jms.common.JMSException: Destination not found
    at weblogic.jms.dispatcher.InvocableManager.invocableFind(InvocableManager.java:136)
    at weblogic.jms.backend.BESession.createConsumer(BESession.java:153)
    at weblogic.jms.backend.BESession.invoke(BESession.java:1457)
    at weblogic.jms.dispatcher.Request.wrappedFiniteStateMachine(Request.java:643)
    at weblogic.jms.dispatcher.DispatcherImpl.dispatchSync(DispatcherImpl.java:179)
    at weblogic.jms.frontend.FEConsumer.<init>(FEConsumer.java:232)
    at weblogic.jms.frontend.FESession$3.run(FESession.java:1058)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
    at weblogic.jms.frontend.FESession.consumerCreate(FESession.java:1054)
    at weblogic.jms.frontend.FESession.invoke(FESession.java:2552)
    at weblogic.jms.dispatcher.Request.wrappedFiniteStateMachine(Request.java:643)
    at weblogic.jms.dispatcher.DispatcherImpl.dispatchSync(DispatcherImpl.java:179)
    at weblogic.jms.client.JMSSession.consumerCreate(JMSSession.java:1860)
    at weblogic.jms.client.JMSSession.createConsumer(JMSSession.java:1691)
    at weblogic.jms.client.JMSSession.createReceiver(JMSSession.java:1530)
    at weblogic.ejb20.internal.JMSConnectionPoller.setUpQueueSessions(JMSConnectionPoller.java:1720)
    at weblogic.ejb20.internal.JMSConnectionPoller.createJMSConnection(JMSConnectionPoller.java:2019)
    at weblogic.ejb20.internal.JMSConnectionPoller.connectToJMS(JMSConnectionPoller.java:1180)
    at weblogic.ejb20.internal.JMSConnectionPoller.startJMSConnectionPolling(JMSConnectionPoller.java:846)
    at weblogic.ejb20.deployer.MessageDrivenBeanPoolInfoImpl.start(MessageDrivenBeanPoolInfoImpl.java:234)
    at weblogic.ejb20.deployer.EJBDeployer.deployMessageDrivenBeans(EJBDeployer.java:1660)
    at weblogic.ejb20.deployer.EJBDeployer.startMessageDrivenBeans(EJBDeployer.java:1555)
    at weblogic.t3.srvr.T3Srvr.startMDBs(T3Srvr.java:948)
    at weblogic.t3.srvr.T3Srvr.resume(T3Srvr.java:1024)
    at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:361)
    at weblogic.Server.main(Server.java:32)
    Edited by: user8773992 on Sep 2, 2009 11:31 AM

    1 - Ensure that the MDB is configured to reference the remote connection factory AND remote destination.
    2 - If using the foreign JMS server facility, ensure that it defines the URL of the remote cluster/server, a connection factory mapping, and a destination mapping. Also ensure that the MDB connection factory and destination descriptor fields reference the local JNDI names for the mappings.
    3 - If not using the foreign JMS server facility, ensure that the MDB descriptor has the URL of the remote cluster, and a destination JNDI name that's in the remote cluster. (The connection factory JNDI name is not needed in this case, as the MDB will automatically look for a default connection factory that MDB's use.)
    I think the MDB chapter of the EJB programmer's guide will likely be helpful here. The latest documentation for the latest release may be more up-to-date than 8.1 -- the concepts are the same with the newer releases.
    Tom

  • Browse jms destinations on managed servers (from admin server)

    I need to browse JMS destinations from the admin server (in a WebLogic
    9.2 console extension) that are only deployed on the managed servers.
    I can get destination attributes via the domain runtime server, but
    no JNDI or actually browse the destinations. All destinations in
    which I am interested are queues.
    I know I can change my initial context, but if that is the way to go, is there a way to determine the managed
    servers' URLs at runtime?
    Thank you for any help,
    Seth

    hi
    this worked for me (on 8.1). I suppose there are
    better ways in 9.2
    Context adminCtx = null;
    adminCtx = getInitialContextForAdminServer();
    MBeanHome adminhome = (MBeanHome)
    adminCtx.lookup(MBeanHome.ADMIN_JNDI_NAME);
    // Get the list of running managed
    ning managed servers and iterate over itSet
    Set srSet =
    Set srSet =
    adminhome.getMBeansByType("ServerRuntime");
    Iterator sr_iter = srSet.iterator();
    while (sr_iter.hasNext())
    ServerRuntimeMBean bean =
    timeMBean bean = (ServerRuntimeMBean) sr_iter.next();
    // Get the home for the managed
    for the managed server
    MBeanHome remoteHome = (MBeanHome)
    me = (MBeanHome) adminCtx.lookup(MBeanHome.JNDI_NAME
    + "." + bean.getName());
    // Get the MBeanServer for the
    anServer for the managed server
    MBeanServer rmbs =
    eanServer rmbs = remoteHome.getMBeanServer();
    //invoke it
    ObjectName objectName= new
    objectName= new ObjectName("$mbean");
    rmbs.invoke(objectName,operation,params,types);
    Edited by deepshet at 05/05/2007 10:00 AMThank you for the help.
    MBeanHome is deprecated as of 9.0, so I was unable to directly use your example. You have helped though, thank you.
    As of now I am querying the domain runtime server for:
    ObjectName("com.bea:*,Type=ServerRuntime")
    I am then iterating through the returned Set to get the server URLs and then setting my InitialContext with a PROVIDER_URL of the managed servers. This allows me to Look Up a Destination without JNDI based on step 4 from [url http://edocs.bea.com/wls/docs92/jms/implement.html#wp1313933]here. I can then browse as needed.
    The ugly part is that if I include the Admin URL in my PROVIDER_URL then it does not work, so I am checking for it as I loop through the set of ServerRuntimes and not including it.
    Further though slightly less annoying is that the managed server URLs include "t3://" but if I leave it in there, a malformed URL exception is thrown when setting the PROVIDER_URL. So I also remove all of those and then preppend one on the front for PROVIDER_URL as I actually need.
    It is not pretty, but it is working on the only cluster I have been able to try thus far.
    If anyone was a cleaner suggestion, please share.

  • [OSB 10.3.1] error adding a JMS destination

    Hi all,
    I'm migrating my ALSB 3.0 project into OSB 10.3.1. So I've recreated the clustered domain in OSB as I did with ALSB and then ready to run my
    ebAdmin.cmd properties\local\admin.DVE.osb_cluster1.SYS.properties properties\local\admin.DVE.osb_cluster1.APP.properties create-jms-core
    in order to create my JMS resources ... all go find excpet at the end when the script tries to activate the changes:
    Buildfile: admin.xml
    create-jms-core:
    admin:
    [java] Initializing WebLogic Scripting Tool (WLST) ...
    [java] Welcome to WebLogic Server Administration Scripting Shell
    [java] Type help() for help on available commands
    [java] ===============================================================
    [java] Loading admin properties file from : ./admin.properties
    [java] ===============================================================
    [java] Connecting to t3://localhost:7001 with userid weblogic ...
    [java] Successfully connected to Admin Server 'AdminServer' that belongs to domain 'osb_cluster1'.
    [java] Warning: An insecure protocol was used to connect to the
    [java] server. To ensure on-the-wire security, the SSL port or
    [java] Admin port should be used instead.
    [java] Location changed to domainRuntime tree. This is a read-only tree with DomainMBean as the root.
    [java] For more help, use help(domainRuntime)
    [java] Location changed to edit tree. This is a writable tree with
    [java] DomainMBean as the root. To make changes you will need to start
    [java] an edit session via startEdit().
    [java] For more help, use help(edit)
    [java] You already have an edit session in progress and hence WLST will
    [java] continue with your edit session.
    [java] Starting an edit session ...
    [java] Started edit session, please be sure to save and activate your
    [java] changes once you are done.
    [java] ===============================================================
    [java] Creating JMS core resources
    [java] ===============================================================
    [java] #### found managed: m01
    [java] #### ready to create file store EventBusFileStore_m01
    [java] #### created file store EventBusFileStore_m01
    [java] #### ready to create JMS server EventBusJMSServer_m01
    [java] #### created JMS server EventBusJMSServer_m01
    [java] #### found managed: m02
    [java] #### ready to create file store EventBusFileStore_m02
    [java] #### created file store EventBusFileStore_m02
    [java] #### ready to create JMS server EventBusJMSServer_m02
    [java] #### created JMS server EventBusJMSServer_m02
    [java] #### ready to create JMS module EventBusSystemModule
    [java] #### created JMS module EventBusSystemModule
    [java] #### ready to create connection factory EventBusConnectionFactory
    [java] #### created connection factory EventBusConnectionFactory
    [java] #### ready to create XA connection factory EventBusXAConnectionFactory
    [java] #### created XA connection factory EventBusXAConnectionFactory
    [java] #### ready to create dummyConsumerEventConsumer1OutboundQueue
    [java] #### created dummyConsumerEventConsumer1OutboundQueue
    [java] #### ready to create dummyConsumerEventConsumer1RecoveryOutboundQueue
    [java] #### created dummyConsumerEventConsumer1RecoveryOutboundQueue
    [java] #### ready to set error destination dummyConsumerEventConsumer1RecoveryOutboundQueue for dummyConsumerEventConsumer1OutboundQueue
    [java] #### error destination set successfully for dummyConsumerEventConsumer1OutboundQueue
    the same for other many Uniform Distributed Queues
    [java] #### ready to create MonitorTopic
    [java] #### created MonitorTopic
    [java] Saving all your changes ...
    [java] Saved all your changes successfully.
    [java] Activating all your changes, this may take a while ...
    [java] The edit lock associated with this edit session is released
    [java] once the activation is completed.
    [java] This Exception occurred at Sat Aug 15 14:12:14 CEST 2009.
    [java] weblogic.application.ModuleException: ERROR: Unable to add destination EventBusSystemModule!wlsbJMSServer_auto_1@dummyConsumerEventConsumer1OutboundQueue to the back end wlsbJMSServer_auto
    _1
    [java] at weblogic.jms.backend.BEDestinationRuntimeDelegate.prepare(BEDestinationRuntimeDelegate.java:197)
    [java] at weblogic.jms.backend.udd.UDDEntity.prepare(UDDEntity.java:444)
    [java] at weblogic.jms.module.JMSModule$EntityState.setState(JMSModule.java:1704)
    [java] at weblogic.jms.module.JMSModule$EntityState.setState(JMSModule.java:1667)
    [java] at weblogic.jms.module.JMSModule$EntityState.access$100(JMSModule.java:1608)
    [java] at weblogic.jms.module.JMSModule.prepare(JMSModule.java:277)
    [java] at weblogic.jms.module.ModuleCoordinator.prepare(ModuleCoordinator.java:185)
    [java] at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:93)
    [java] at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:387)
    [java] at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
    [java] at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:58)
    [java] at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:42)
    [java] at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:615)
    [java] at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
    [java] at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:191)
    [java] at weblogic.application.internal.SingleModuleDeployment.prepare(SingleModuleDeployment.java:16)
    [java] at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:155)
    [java] at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:60)
    [java] at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:197)
    [java] at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:89)
    [java] at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217)
    [java] at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:723)
    [java] at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1190)
    [java] at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:248)
    [java] at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:159)
    [java] at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:157)
    [java] at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:12)
    [java] at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:45)
    [java] at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
    [java] at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    [java] at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    [java] Caused by: weblogic.jms.common.JMSException: [JMSExceptions:045050]A destination of name EventBusSystemModule!wlsbJMSServer_auto_1@dummyConsumerEventConsumer1OutboundQueue has a jms-create
    -destination-identifier of name EventBusSystemModule!wlsbJMSServer_auto_1@dummyConsumerEventConsumer1OutboundQueue. However, another destination of name EventBusSystemModule!wlsbJMSServer_auto_1@dummy
    ConsumerEventConsumer1OutboundQueue has the same jms-create-destination-identifier. Two destinations with the same jms-create-destination-identifier cannot be co-located on the JMSServer named wlsbJMS
    Server_auto_1.
    [java] at weblogic.jms.backend.BackEnd.addDestination(BackEnd.java:1527)
    [java] at weblogic.jms.backend.BEDestinationRuntimeDelegate.prepare(BEDestinationRuntimeDelegate.java:195)
    [java] ===============================================================
    [java] #### ERROR - unexpected error: main.WLSTException
    [java] ===============================================================
    [java] No stack trace available.
    [java] Edit session is cancelled successfully
    [java] Disconnected from weblogic server: AdminServer
    [java] Unexpected error: main.WLSTException
    [java]
    [java] Problem invoking WLST - Traceback (innermost last):
    [java] File "K:\EventBus\scripts\admin.py", line 910, in ?
    [java] File "K:\EventBus\scripts\admin.py", line 216, in admin
    [java] File "K:\EventBus\scripts\admin.py", line 366, in configJMSCore
    [java] File "K:\EventBus\scripts\admin.py", line 681, in endTransaction
    [java] File "<iostream>", line 364, in activate
    [java] WLSTException: Error occured while performing activate : Error while Activating changes.ERROR: Unable to add destination EventBusSystemModule!wlsbJMSServer_auto_1@dummyConsumerEventConsume
    r1OutboundQueue to the back end wlsbJMSServer_auto_1 Use dumpStack() to view the full stacktrace
    what I don't understand is the fact that my EventBusSystemModule in some way references wlsbJMSServer_auto_1 (not created by my script but this JMS server is already available in OSB).
    I run successfully the above script againt ALSB 3.0 but now with OSB something goes wrong.
    As you see from above output, the script:
    - create file store EventBusFileStore_m01 (m01 is the m01 managed server in the cluster)
    - create JMS server EventBusJMSServer_m01
    - create file store EventBusFileStore_m02
    - create JMS server EventBusJMSServer_m02
    - created JMS module EventBusSystemModule
    from py point of view the code is:
    def createJMSModule(jmsModuleName, cluster):
    print '#### ready to create JMS module ' + jmsModuleName
    cd('/')
    jmsModule = cmo.createJMSSystemResource(jmsModuleName)
    cd('/JMSSystemResources/' + jmsModuleName)
    set('Targets',jarray.array([ObjectName('com.bea:Name=' + cluster + ',Type=Cluster')], ObjectName))
    print '#### created JMS module ' + jmsModuleName
    print
    about the creation of the UDQ
    def createUniformDistributedQueue(destinationName, jndiDestination, jmsModuleName):
    print '#### ready to create ' + destinationName
    path = '/JMSSystemResources/' + jmsModuleName + '/JMSResource/' + jmsModuleName
    try:
    cd(path)
    except WLSTException,e:
    failed = 'Check if create-jms-core task has been already executed'
    raise Failure(failed)
    cmo.createUniformDistributedQueue(destinationName)
    cd('/JMSSystemResources/' + jmsModuleName + '/JMSResource/' + jmsModuleName + '/UniformDistributedQueues/' + destinationName)
    cmo.setJNDIName(jndiDestination)
    cmo.setLoadBalancingPolicy('Round-Robin')
    cmo.setDefaultTargetingEnabled(true)
    print '#### created ' + destinationName
    print
    I'm trying to understand where is the problem ....
    Thanks in advance
    ferp

    Sounds like the database information is wrong, Have you tried correctign this through the BPM Process administrator? There are a few places where you setup database configuration it's probably one of them.
    I'm am fairly new so I can only offer up that.
    I'm having a nightmare myself deplying a process engine, good luck
    mARK

  • Producing message to temporary JMS destination

    Hi,
    Has anyone managed to produce a message to a temporary JMS destination using the JMS Adapter? I'm trying to get this request/reply-pattern working:
    -Java client connects to a Connection Factory and creates a temporary reply queue (works, CF returns a destination like "TestingJmsServer!TestingJmsServer.TemporaryQueue2")
    -The client produces a message with JMSReplyTo pointing to the temporary reply queue (works)
    -JMS Adapter consumes the message and assigns jca.jms.JMSDestinationName := jca.jms.JMSReplyTo (works)
    -The JMS adapter should now produce the reply message to the provided temporary queue, but it always fails with error BEA-045101:
    The destination name passed to createTopic or createQueue "destName" is invalid. If the destination name does not contain a "/" character then it must be the name of a distributed destination that is available in the cluster to which the client is attached. If it does contain a "/" character then the string before the "/" must be the name of a JMSServer or a ".". The string after the "/" is the name of a the desired destination. If the "./" version of the string is used then any destination with the given name on the local WLS server will be returned.
    The same problem occurs with fixed queues, like "TestingJmsModule!ReplyQueue", but I can make them work by adding a "./" in front of the destination name when performing the jca.jms.JMSDestinationName assign, so that it reads "./TestingJmsModule!ReplyQueue". After that the adapter is able to produce the message correctly to the given JMSDestinationName.
    Is it significant that with fixed queues I get a destination like "JmsModule!FixedQueueName" (note the module) but with temporary destinations it is like "JmsServer!TempQueueName" (note the server)?
    Should the destination name be of some other format? The current value is exactly what the Connection Factory returns, and if the JMS adapter is replaced with another java client, producing the reply message to that destination works just fine.
    regards,
    Ville

    Hi,
    I am trying to send messages to the WLS queue through Camel and facing the same issue, which can be eliminated by using queue name as ./<QUEUE_NAME>.
    However it only eliminates the error and the next one comes is real pain. It is not able to find the JNDI name of the queue, where as I am able to see it in Admin console JNDI tree.
    Exception in thread "Main Thread" org.apache.camel.CamelExecutionException: Exception occurred during execution on the exchange: Exchange[Message: Test Message: 0]
         at org.apache.camel.util.ObjectHelper.wrapCamelExecutionException(ObjectHelper.java:1161)
         at org.apache.camel.util.ExchangeHelper.extractResultBody(ExchangeHelper.java:512)
         at org.apache.camel.impl.DefaultProducerTemplate.extractResultBody(DefaultProducerTemplate.java:441)
         at org.apache.camel.impl.DefaultProducerTemplate.extractResultBody(DefaultProducerTemplate.java:437)
         at org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:125)
         at org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:130)
         at org.apache.camel.example.jmstofile.PublishMessage.main(PublishMessage.java:63)
    Caused by: org.springframework.jms.UncategorizedJmsException: Uncategorized exception occured during JMS processing; nested exception is weblogic.jms.common.JMSException: [JMSExceptions:045102]A destination of name "WLtestQueue" was not found on WLS server "AdminServer".
         at org.springframework.jms.support.JmsUtils.convertJmsAccessException(JmsUtils.java:316)
         at org.springframework.jms.support.JmsAccessor.convertJmsAccessException(JmsAccessor.java:168)
         at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:469)
         at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.send(JmsConfiguration.java:172)
         at org.apache.camel.component.jms.JmsProducer.doSend(JmsProducer.java:347)
         at org.apache.camel.component.jms.JmsProducer.processInOnly(JmsProducer.java:303)
         at org.apache.camel.component.jms.JmsProducer.process(JmsProducer.java:101)
         at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:102)
         at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:104)
         at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:85)
         at org.apache.camel.processor.UnitOfWorkProducer.process(UnitOfWorkProducer.java:63)
         at org.apache.camel.impl.ProducerCache$1.doInProducer(ProducerCache.java:345)
         at org.apache.camel.impl.ProducerCache$1.doInProducer(ProducerCache.java:317)
         at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:222)
         at org.apache.camel.impl.ProducerCache.sendExchange(ProducerCache.java:317)
         at org.apache.camel.impl.ProducerCache.send(ProducerCache.java:168)
         at org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:110)
         at org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:123)
         ... 2 more
    Caused by: weblogic.jms.common.JMSException: [JMSExceptions:045102]A destination of name "WLtestQueue" was not found on WLS server "AdminServer".
         at weblogic.jms.dispatcher.DispatcherAdapter.convertToJMSExceptionAndThrow(DispatcherAdapter.java:110)
         at weblogic.jms.dispatcher.DispatcherAdapter.dispatchSyncNoTran(DispatcherAdapter.java:61)
         at weblogic.jms.client.JMSSession.createDestination(JMSSession.java:3192)
         at weblogic.jms.client.JMSSession.createQueue(JMSSession.java:2577)
         at weblogic.jms.client.WLSessionImpl.createQueue(WLSessionImpl.java:938)
         at org.springframework.jms.support.destination.DynamicDestinationResolver.resolveQueue(DynamicDestinationResolver.java:101)
         at org.springframework.jms.support.destination.DynamicDestinationResolver.resolveDestinationName(DynamicDestinationResolver.java:66)
         at org.springframework.jms.support.destination.JmsDestinationAccessor.resolveDestinationName(JmsDestinationAccessor.java:100)
         at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.access$200(JmsConfiguration.java:141)
         at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate$3.doInJms(JmsConfiguration.java:174)
         at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:466)
         ... 17 more
    Anyone has got any idea?

  • SOAP / Web Service clustering WLS 7.0.2

              Hi there,
              I'm looking for information on if and how WLS 7.0.2 is capable of
              clustering Web Services. We created the Web Service like following:
              - Created a stateless session bean first
              - Created the web service with a servicegen ant task
              I browsed through edocs.bea.com but
              up to now with no success.
              Any help is greatly appreciated.
              Best regards,
              Fabio
              

              "Fabio Barone" <[email protected]> wrote:
              >
              >Hi there,
              >
              >I'm looking for information on if and how WLS 7.0.2 is capable of
              >clustering Web Services. We created the Web Service like following:
              >- Created a stateless session bean first
              >- Created the web service with a servicegen ant task
              >
              >We need the clustering service for high availability, not
              >for load balancing or session fail-over.
              >
              >Our IT dept. offered a hardware solution with CISCO load-balancers
              >first (our preferred solution for high availability).
              >However, the guys here are not able to configure the hardware properly,
              >that's why we're looking for alternatives with the WLS cluster.
              >
              >I browsed through edocs.bea.com but
              >up to now with no success.
              >
              >Any help is greatly appreciated.
              >
              >Best regards,
              >Fabio
              Fabio, your other alternative is through a group of Web servers configured identically
              using Weblogic proxy plugins. WLS can also act as a load-balancing proxy to interface
              with a Cluster. Search bea docs for Load-balancing Proxy.....
              Good Luck
              

Maybe you are looking for

  • Hardware/Software needed for WebForms?

    My company is planning on migrating a Forms 3.0 application to WebForms (we need to support both Win95/98 PCs and Macintoshes). I understand the basic 3-tier structure (i.e. database server, application server and browser based client), but I'm still

  • Adding a Sharepoint Document Library in Windows Explorer Fovorites

    I want to add a sharepoint document library in my favorites in windows explorer...  Every time I copy the link, instead of opening the library in windows explorer, it open the browser and go directly to the site... Any help would be appreciated. Than

  • Pacman -Syu today...Kernel2.6.5-2 and XFree86-4.4.0-1

       Attempted the upgrade and received query....remove ttf-bitstream-vera?    Answered Yes.   Prceeded with upgrade.   Loading of XFree86-4.4.0-1 encountered conflicts.    Is it again necessary to remove XFree86 before the upgrade and install it after

  • I don't understand how to bind a node

    Hi guys I don't understand how to bind a node I want to bind a mandatory parameter for my model (ex: Bapi_Delete_Travel_Expense_Input) if  the parameter is a node ,not a attribute,how to bind it I don't understand yet. Please give me some suggest Tha

  • Return package cursor from another store procedure

    Hello I'm new in Oracle, and I have the following problem: I have an cursor in a package defined like that: create or replace PACKAGE "TestPACKAGE" AS cursor DOWNLOAD_CURSOR is select A.* from Table1 A, Table2 B END TestPACKAGE; In reality there is m