JMS provider c++ msg Producer communication

does any one know how we can send messages from C++ messagePublisher to JMS provider with out any third party tool ??
thanks

ActiveMQ 4.x comes with a C API called OpenWire which can be used from C++.
http://activemq.org/C+Integration
Also there's a pure C API for Stomp
http://stomp.codehaus.org/
along with native support for C#, Perl, Pike, Python, Ruby.
James
http://logicblaze.com/

Similar Messages

  • JMS Provider Responsibilities For Concurrent Message Delivery

    Hi,
    (This question pertains to the JMS api, outside a j2ee container)
    Is it JMS-provider dependent on how concurrent message delivery is implemented? In other words, the code below sets up multiple consumers (on a topic), each with their own unique session and MessageListener and then a separate producer (with its own session) sends a message to the topic and I observer that only (4) onMessage() calls can execute concurrently. When one onMessage() method exits, that same thread gets assigned to execute another onMessage().
    The only thing I could find on the matter in the spec was section in 4.4.15 Concurrent Message Delivery and it's pretty vague.
    It's really important because of the acknowledgment mode. If it turns out that I need to delegate the real work that would be done in the onMessage() to another thread that I must manage (create, pool, etc), then once the onMessage() method completes (i.e., after it does the delegation to another thread), the message is deemed successfully consumed and will not be re-delivered again (and that's a problem if the custom thread fails for any reason). Of course, this assumes I'm using AUTO_ACKNOWLEDGE as the acknowledgment mode (which seems to make sense since using CLIENT_ACKNOWLEDGE mode will automatically acknowledge the receipt of all messages that have been consumed by the corresponding session and that's not good).
    My JMS Provider is WL 9.1 and the trival sample code I'm using as my test follows below. I also show the ouput from running the example.
    thanks for any help or suggestions,
    mike
    --- begin TopicExample.java ---
    import java.io.*;
    import java.util.*;
    import javax.naming.*;
    import javax.jms.*;
    import javax.rmi.PortableRemoteObject;
    class TopicExample {
    public final static String JMS_PROVIDER_URL = "t3://localhost:8001";
    public final static String JNDI_FACTORY="weblogic.jndi.WLInitialContextFactory";
    public final static String JMS_FACTORY="CConFac";
    public final static String TOPIC="CTopic";
    public final static int NUM_CONSUMERS = 10;
    public static void main(String[] args) throws Exception {
    InitialContext ctx = getInitialContext(JMS_PROVIDER_URL);
    ConnectionFactory jmsFactory;
    Connection jmsConnection;
    Session jmsReaderSession[] = new Session[10];
    Session jmsWriterSession;
    TextMessage jmsMessage;
    Destination jmsDestination;
    MessageProducer jmsProducer;
    MessageConsumer jmsConsumer[] = new MessageConsumer[10];
    MessageListener ml;
    try
    // Create connection
    jmsFactory = (ConnectionFactory)
    PortableRemoteObject.narrow(ctx.lookup(JMS_FACTORY), ConnectionFactory.class);
    jmsConnection = jmsFactory.createConnection();
    // Obtain topic
    jmsDestination = (Destination) PortableRemoteObject.narrow(ctx.lookup(TOPIC), Destination.class);
    // Reader session and consumer
    for (int i=0; i<NUM_CONSUMERS; i++)
    jmsReaderSession[i] = jmsConnection.createSession(false, Session.AUTO_ACKNOWLEDGE);
    jmsConsumer[i] = jmsReaderSession.createConsumer(jmsDestination);
    jmsConsumer[i].setMessageListener(
    new MessageListener()
    public void onMessage(Message msg) {
    try {
    String msgText;
    if (msg instanceof TextMessage) {
    msgText = ((TextMessage)msg).getText();
    } else {
    msgText = msg.toString();
    System.out.println("JMS Message Received: "+ msgText );
    System.out.println("press <return> to exit onMessage");
    char c = getChar();
    System.out.println("Exiting onMessage");
    } catch (JMSException jmse) {
    System.err.println("An exception occurred: "+jmse.getMessage());
    // Writer session and producer
    jmsWriterSession = jmsConnection.createSession(false, Session.AUTO_ACKNOWLEDGE);
    jmsProducer = jmsWriterSession.createProducer(jmsDestination);
    jmsMessage = jmsWriterSession.createTextMessage();
    jmsMessage.setText("Hello World from Java!");
    jmsConnection.start();
    jmsProducer.send(jmsMessage);
    char c = '\u0000';
    while (!((c == 'q') || (c == 'Q'))) {
    System.out.println("type q then <return> to exit main");
    c = getChar();
    for (int i=0; i<NUM_CONSUMERS; i++)
    jmsReaderSession[i].close();
    jmsWriterSession.close();
    jmsConnection.close();
    System.out.println("INFO: Completed normally");
    } finally {
    protected static InitialContext getInitialContext(String url)
    throws NamingException
    Hashtable<String,String> env = new Hashtable<String,String>();
    env.put(Context.INITIAL_CONTEXT_FACTORY, JNDI_FACTORY);
    env.put(Context.PROVIDER_URL, url);
    return new InitialContext(env);
    static public char getChar()
    char ch = '\u0000';
    try {
    ch = (char) System.in.read();
    System.out.flush();
    } catch (IOException i) {
    return ch;
    --- end code --
    Running the example:
    prompt>java TopicExample
    JMS Message Received: Hello World from Java!
    JMS Message Received: Hello World from Java!
    press <return> to exit onMessage
    press <return> to exit onMessage
    JMS Message Received: Hello World from Java!
    press <return> to exit onMessage
    JMS Message Received: Hello World from Java!
    press <return> to exit onMessage
    type q then <return> to exit main
    [you see, only 4 onMessage() calls execute concurrently. Now I press <return>]
    Exiting onMessage
    JMS Message Received: Hello World from Java!
    press <return> to exit onMessage
    [now once the thread executing the onMessage() completes, the JMS providor assigns it to execute another onMessage() until all 10 onMessage() exections complete).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

    I am too facing the same issue. but in my case I start getting this problem when the message size is about 1 MB itself.
    Any help is appraciated.
    Regards,
    ved

  • XI JMS adapter after JMS provider reboot

    Hi All,
    I have problem with XI JMS adapter. Adapter is in a JMS client role and JMS provider is Tibco. After reboot of JMS service in JMS provider, XI JMS adapter loose username and pw in connection and try logon to queue as an anonymous user.
    After deactivation + activation of XI JMS adapter, connection seems to work correctly with uname & pw.
    In JMS adapter we have folloving settings and we are connected straight into queue:
    Transport Protocol = SonicMQ JMS Provider
    General JMS Settings:
    Transactional JMS Session is in use
    Delivery Mode of Message Producer = Persist JMS messages..
    + Queue user & pw
    Error Handling Settings:
    Wait After Message Error(msecs) = 60000
    Wait Before Reconnect(msecs) = 60000
    Does anyone ran into this earlier?
    Thanks in advance.
    -Kimmo

    Hi Saravana,
    It seems that no connection is available to queue. In JMS adapter are you using correct path for finding these provider specifig classes in front of class name. Example: javax.jms.QueueConnectionFactory
    It is also possible that username of JMS provider which you configure to JMS adapter does not have correct rights for reading/writing or accessing to queue.
    We are not using any additional settings for JMS adapter. For server name we have also added protocol which is tcp://<servername> and using transactional JMS session.
    We had this same error when trying connect to queue via JNDI. Then we changed JMS adapter to connect straight to queue and it started to work.

  • XI to IBM Websphere Default JMS Provider with JNDI

    Hello everybody!
    We face a problem with connecting SAP XI to IBM WebSphere Default JMS Provider (need to send a message from XI to WebSphere JMS and receive the response).
    We have the following versions installed:
        SAP XI: 7.0 SP8 , Sun JDK 1.4.2
        IBM WebSphere: IBM WebSphere Application Server ND, 6.0.2.17, J2RE 1.4.2 IBM
    We cannot set the JMS adapter of SAP XI for conecting with IBM WebSphere Default JMS Provider. The Communication Channel has erroneous state (at runtime) and the Communication Channel Monitoring tool displays the error message as described below (under "Variant 1" and "Variant 2" sub-headings) depending on the settings performed. 
    For connecting, the following JMS-provider settings were used at IBM WebSphere side:
       JMS Providers: Default Messaging Provider
       Queue Connection Factories: name:QueueConnectionFactory, jndi:jms/QueueConnectionFactory, provider: Default Messaging Provider
       Queues: name Queue, jndi: jms/Queue, provider: Default Messaging Provider
    The XI communication channel (and associated JMS-adapter) was set as Variants 1 and 2 show. Settings for both cases and received error messages were the following:
    <b>Variant 1.</b>
        Adapter type: JMS
        Type: Receiver
        JMS Provider: Access JMS Provider with JNDI (Java Naming and Directory Interface)
        JNDI Lookup Name of QueueConnectionFactory:  jms/QueueConnectionFactory
        JNDI Lookup Name of JMS Queue: jms/Queue
        Name of JNDI Initial Context Factory: com.sap.engine.services.jndi.InitialContextFactoryImpl
        JNDI Server Address: iiop://WEBSPHERE.HOST:2809/ 
        As the result, the Communication Channel Monitoring displays that the channel has erroneous state and the following error message is written:
        "Error during channel initialization; exception trace: com.sap.engine.services.jndi.persistent.exceptions.NameNotFoundException: Object not found in lookup of jms/QueueConnectionFactory.
    at com.sap.engine.services.jndi.implserver.ServerContextImpl.lookup(ServerContextImpl.java:649)"
    <b>Variant 2</b>
        The same settings as in Variant 1 above, were used and additionally the following settings were done:
        - Name of JNDI Initial Context Factory: com.ibm.websphere.naming.WsnInitialContextFactory
        - The archive aii_af_jmsproviderlib.sda containing libraries required by WsInitialContextFactory, was deployed to the SAP WebAS where the XI is running. Those libraries were taken from WebSphere Application Server Pluggable Application Client installation package (described in the article "WebSphere Application Server Pluggable Application Client" located at http://www-128.ibm.com/developerworks/websphere/library/techarticles/0409_bhogal/0409_bhogal.html)
        - Also, as it is recommended in the referred article, the files required by IBM's iiop protocol (ibmext.jar ibmorb.jar ibmorbapi.jar) were put to the folder jre/lib/endorsed of the server(Sun JVM 1.4.2 is used by SAP WebAS / XI).
        As the result, the Communication Channel Monitoring displays that the channel has erroneous state as well and the following error message is written:
       "No adapter registered for this channel"
    We have not found the recommended solution either in SDN forums or in Internet in general. Is it yet possible to connect SAP XI to IBM WebSphere Default JMS Provider having mentioned product versioning? If yes, what settings have to be performed?

    IBM Websphere Default JMS Provider which is installed alongwith the application server is nothing but a scaled down version of the IBM WebSphere MQSeries. you should be able to connect to it with the same settings that can be used for a separate MQSeries server connectivity from XI.

  • JMS : Using SUN MQUEUE as a JMS Provider

    Hi guys,
    I'm having quite some trouble in configuring a JMS scenario...
    I'm using SUN MQueue as a JMS Provider. I've installed the respective drivers, imq.jar, fscontext.jar and jms.jar.
    I had no trouble in deploying this drivers on the SDM.
    Now, after creating a receiver JMS communication channel, I get the following error on the RWB:
    Error during channel initialization; exception trace: java.lang.NoSuchMethodException: com.sun.messaging.QueueConnectionFactory.(java.lang.String)
    at java.lang.Class.getConstructor0(Class.java:1937)
    at java.lang.Class.getConstructor(Class.java:1027)
    at com.sap.aii.af.service.jms.WorkerJMSSender.init(WorkerJMSSender.java:474)
    I've searched XI logs, in order of getting some light on the subject...This was what I've got:
    #com.sap.aii.af.service.jms.WorkerJMSSender.init(WorkerHandler moduleHandler, Object para)#J2EE_GUEST#0####975a11b0c58b11dbce6700145e1855ec#SAPEngine_Application_Thread[impl:3]_19##0#0#Error##Java###Unable to create the QueueConnectionFactory due to #1#SUNMQUEUE_IP:SUNMQUEUE_Port#
    My question is what is #1#....
    I've read a few forum threads, but none of them can clarify my error....
    I've tried the same scenario using Business Connector...Of course, in BC I had to create 2 JAVA services, one for sending and another for receiving messages...there was no problem with this, I did managed to send JMS Messages to SUN MQUEUE...
    Can anyone give a hint....anything...?

    Hi,
    This is something related to JMS Adapter configuration settings and security ...
    please check .. all your settings..
    <i>This is the SonicMQ implementation of the QueueConnectionFactory.
    A JMS client, in this case the adapter, uses a QueueConnectionFactory object to generate QueueConnection objects of a JMS provider.
    The default value for SonicMQ 3.0 is progress.message.jclient.QueueConnectionFactory</i>
    See also..below links
    http://help.sap.com/saphelp_nw04/helpdata/en/c1/739c4186c2a409e10000000a155106/content.htm
    Installation problem: Central Instance 6.40 Oracle on Linux 32
    Regards
    Chilla..

  • Tibco Remote  Jms Provider - Auto-acknowledge

    Hi,
    We have setup Weblogic 8.1.6 with Tibco EMS 4.2 as remote JMS provider.
    It works, and we have configured an MDB as below:
    -ejb-jar-
    <message-driven>
    <display-name>Order receiver MDB</display-name>
    <ejb-name>OrderMDB</ejb-name>
    <ejb-class>com.company.OrderMDB</ejb-class>
    <transaction-type>Container</transaction-type>
    <acknowledge-mode>Auto-acknowledge</acknowledge-mode>
    <message-driven-destination>
    <destination-type>javax.jms.Queue</destination-type>
    </message-driven-destination>
    And the question: We are receiving this in our weblogic log ( two minute intervalls ) and is is NOT application logging. What is it?
    2008-08-26 08:39:32 [5816236 TIBCO EMS TCPLink Reader (2856200)] [TIBCO EMS]: received msg from daemon conn=2856200 seqi
    d=14151393 msgid=ID:EMS_SIPLA01-02T_TSS_TST.427647BDB7AF390236:442
    2008-08-26 08:39:32 [-488738086 ExecuteThread: '3' for queue: 'weblogic.kernel.System'] [TIBCO EMS]: send qsndr=1274771
    msgid=ID:EMS_SIPLA01-02T_TSS_TST.427647BDB7AF390236:442 dlvmode=1 pri=5 ttl=240000 sess=3736118
    2008-08-26 08:39:32 [5816236 TIBCO EMS TCPLink Reader (2856200)] [TIBCO EMS]: post msg to session sess=3736020 cons=2737
    945 seqid=14151393 msgid=ID:EMS_SIPLA01-02T_TSS_TST.427647BDB7AF390236:442
    2008-08-26 08:39:32 [9425697 TIBCO EMS Session Dispatcher (3736020)] [TIBCO EMS]: before onMessage sess=3736020 cons=273
    7945 seqid=14151393 msgid=ID:EMS_SIPLA01-02T_TSS_TST.427647BDB7AF390236:442
    / Peter

    Hi,
    We have setup Weblogic 8.1.6 with Tibco EMS 4.2 as remote JMS provider.
    It works, and we have configured an MDB as below:
    -ejb-jar-
    <message-driven>
    <display-name>Order receiver MDB</display-name>
    <ejb-name>OrderMDB</ejb-name>
    <ejb-class>com.company.OrderMDB</ejb-class>
    <transaction-type>Container</transaction-type>
    <acknowledge-mode>Auto-acknowledge</acknowledge-mode>
    <message-driven-destination>
    <destination-type>javax.jms.Queue</destination-type>
    </message-driven-destination>
    And the question: We are receiving this in our weblogic log ( two minute intervalls ) and is is NOT application logging. What is it?
    2008-08-26 08:39:32 [5816236 TIBCO EMS TCPLink Reader (2856200)] [TIBCO EMS]: received msg from daemon conn=2856200 seqi
    d=14151393 msgid=ID:EMS_SIPLA01-02T_TSS_TST.427647BDB7AF390236:442
    2008-08-26 08:39:32 [-488738086 ExecuteThread: '3' for queue: 'weblogic.kernel.System'] [TIBCO EMS]: send qsndr=1274771
    msgid=ID:EMS_SIPLA01-02T_TSS_TST.427647BDB7AF390236:442 dlvmode=1 pri=5 ttl=240000 sess=3736118
    2008-08-26 08:39:32 [5816236 TIBCO EMS TCPLink Reader (2856200)] [TIBCO EMS]: post msg to session sess=3736020 cons=2737
    945 seqid=14151393 msgid=ID:EMS_SIPLA01-02T_TSS_TST.427647BDB7AF390236:442
    2008-08-26 08:39:32 [9425697 TIBCO EMS Session Dispatcher (3736020)] [TIBCO EMS]: before onMessage sess=3736020 cons=273
    7945 seqid=14151393 msgid=ID:EMS_SIPLA01-02T_TSS_TST.427647BDB7AF390236:442
    / Peter

  • How to use IBM MQ as a JMS Provider?

     

    Chapter 8.2 on session pools in the 1.0.2 spec seems to make no real mention
              of transansactions. If not could you point exactly where? What steps would
              one use to cause a foreign messaging-server to infect an async message
              with a JTA transaction using Chapter 8.2 session pools?
              Chapter 8.3 describes the XA libraries, which are not related to session pools.
              The general community feeling on Chapter 8.2 SessionPools is that in almost all
              cases they are
              inferior to MDBs. To make it worse, they are not a required part of the J2EE
              spec. Their
              only real advantage is that they can pool access to a single topic subscription.
              Nice, but hardly
              worth the trouble. Just brainstorming here, but the elegant solution here
              seems simple: extend
              the JMS spec to allow multiple consumers on a single subscription. This would
              also nicely solve
              one MDB/topic problem, as even with SessionPools, there is no way to have MDBs
              on multiple
              servers share a single subscription...
              I don't think the spec states that SessionPools should run on a client. I'm
              fairly sure
              that SessionPools were intended to be a server-side entity. The numerous
              repetitions stating
              that the MessageListener runs on the app server and that the app server controls
              the threads seems to support
              this. It is an extension past Chapter 8.2 to get them to work off-server.
              (Albeit potentially a nice one, if
              one is absolutely determined to use these things instead of MDBs.)
              Maciej Szefler wrote:
              > I've noticed that BEA maintains that this is a shortcoming in the JMS
              > spec -- particularly that there is no way to integrate XA messages from
              > other JMS implementations into Weblogic without the vendor implementing
              > propriatary Weblogic interfaces, I quote your FAQ:
              >
              > "The only reason this works for WebLogic Server JMS is that we have defined
              > a WebLogic Server extension interface that has a method to associate a
              > message with a transaction. This interface, MDBTransaction, is defined in
              > news://newsgroups.bea.com/[email protected]. It has one method,
              > associateTransaction(), that takes a javax.jms.Message parameter. This
              > message must be associated with the transaction. We are hoping that other
              > JMS vendors interested in integrating with WebLogic Server will implement
              > this interface. "
              >
              > "Another approach called source managed transactions, would be for there to
              > be an API to tell the JMS provider to start a transaction on your behalf
              > before delivering the message to an asynchronous consumer. This API doesn't
              > exist in J2EE either. Even if there were such a provision, few non-WLS JMS
              > providers can begin and drive such a transaction by themselves."
              >
              > I would like to know where it is that you guys came up with this novel (and
              > incorrect) position. The JMS API to do this exists, it is called ASF (JMS
              > spec chapter 8) and if WebLogic implemented it correctly then there would be
              > no problem driving XA MDBs using MQseries. The fact of the matter is that
              > Weblogic 6.1 server is simply not JMS compliant in this respect. The 6.1 JMS
              > implementation does not expose the ASF correctly (it relies on the client
              > using a special ServerSesisonPool implementation), nor does the MDB
              > container use the ASF (which I guess is understandable since it isn't
              > implemented correctly). The question is, is Weblogic 7.0 Server going to use
              > ASF to drive MDBs and is the Weblogic 7.0 JMS implemetation going to
              > correctly expose the ASF to advanced clients that may wish to use it?
              >
              > -Maciej Szefler
              > FiveSight Technologies Inc.
              >
              > "Tom Barnes" <[email protected]> wrote in message
              > news:[email protected]...
              > > Clarification. See in-line.
              > >
              > > Tom Barnes wrote:
              > >
              > > > Hi Steve,
              > > >
              > > > This request comes up numerous times in this newsgroup. Since
              > > > the FAQ isn't quite up to date, here is the cut-and-paste response:
              > > >
              > > > Resources:
              > > > Resource Library/White-Papers/WebLogic Server section on dev2dev site:
              > > >
              > http://dev2dev.bea.com/resourcelibrary/whitepapers.jsp?highlight=whitepapers
              > > > jmsproviders.doc, jmsmdb.doc, jmsjta.doc
              > > >
              > > > Code Library/Code Samples/WebLogic Server section on dev2dev site:
              > > > "WebLogic MQSeries JMS Support"
              > > > wlsmqseries.zip
              > > >
              > > > Code Library/Alpha Code/WebLogic Server section on dev2dev site:
              > > > "Sample JMSBridge For WebLogic 6.0"
              > > > JMSBridge60.zip
              > > >
              > >
              > > The above is 6.0 sample code that has nothing to do the below 6.1 alpha
              > bridge, and
              > > was not developed by anyone on the JMS team. The location for the 6.1
              > information is:
              > >
              > > Resource Library/Guides and Tutorials
              > > "Introducing WebLogic Messaging Bridge"
              > > MessagingBridge61.zip
              > >
              > > (see
              > >
              > http://dev2dev.bea.com/resourcelibrary/guidestutorials/technicalguides.jsp?h
              > ighlight=guidestutorials)
              > >
              > >
              > >
              > > >
              > > > The 6.1 MDB can be driven directly by standard JMS implementations -
              > but
              > > > not transactionally by vendors that do not implement the
              > > > weblogic.jms.extensions.MDBTransaction interface. Such vendors
              > > > (including MQSeries) can be made transactional by using a messaging
              > bridge
              > > > to synchronously forward MQSeries messages into WL queues that in turn
              > > > drive the MDB. The 7.0 MDB will be able to be driven transactionally
              > > > by non-WL vendors.
              > > >
              > > > The messaging bridge works with JMS implementations that implement
              > > > the standard J2EE JMS API. This bridge is available as alpha code
              > > > for 6.1, will be fully supported in 6.1SP3 (due out in June?), and is
              > also
              > > > part of 7.0 (currently released in beta).
              > > >
              > > > Tom
              > > >
              > > > steve chen wrote:
              > > >
              > > > > We like to use IBM MQ as our message provider, use Message Driven
              > Bean (Weblogic
              > > > > 6.1) as the consumer. How do we configure WLS so it uses IBM MQ
              > instead of WLS
              > > > > built in JMS as the provider?
              > > > >
              > > > > Thanks
              > >
              

  • MDB behavior with Foreign JMS Provider

              I am experiencing some MDB behavior which I do not quite understand. I would appreciate
              if someone could tell me what might be happening.
              An application on WebLogic 8.1 SP1 (also tried it with SP2) has MDB's which listen
              on a MQ Queue. If I put a large XML message on the MQ Queue (say around 600 KB),
              the onMessage execution is very random, For the large messages only 1 MDB gets
              invoked and the other messages just sit on the MQ Queue. Even though I have defined
              an weblogic execute queue for the MDB's and they have 15 threads allocated.
              The other messages get picked up after the first one gets completed. The problem
              is the whole transaction (which is XA) can take a while (upto 10 minutes). This
              is not intended, but for some reason it takes that long.
              Also, while monitoring the MDB execute queues, I noticed that none of the threads
              from that queue are performing the work and a thread dump shows that the weblogic.ejb20.internal.JMSPoller
              thread has invoked the MDB and is currently waiting for the database to finish
              some processing.
              When the message size is smaller, the MDB's fire concurrently and are executed
              on the MDB execute queue.
              Thanks,
              Ketan.
              

    When we're using MDBs against a foreign JMS provider with XA, the EJB
              container tries to reduce the number of threads that are blocked waiting for
              a message. You should see lots of threads working when there are lots of
              messages on the queue, a few threads (or only one) working when the queue is
              empty or nearly so, and there should be some ramp-up and ramp-down time in
              between. It sounds like the ramp-up takes longer in your case because
              receiving the very first message takes a long time.
              If this behavior is causing big problems for you, you might want to contact
              product support and file an enhancement request.
              greg
              "Ketan" <[email protected]> wrote in message
              news:[email protected]...
              >
              > Here is some more information regarding this issue.
              >
              > When I place sufficiently large messages (such that the parsing and
              processing
              > of these messages takes longer than it does for normal size messages), I
              notice
              > the following behavior.
              >
              > Lets say I put 6 large messages on the MQ Queue. The server immediately
              picks
              > up 1 message and starts processing it. The other 5 messages are sitting on
              the
              > MQ Queue, while the MDB execute queue has all 15 idle threads.
              >
              > After the processing of the message is done, 2 messages get picked up.
              This time,
              > 1 thread in the MDB execute queue gets the message and the other is
              processed
              > by the JMSPoller thread. After these 2 messages are processed, 3 Messages
              get
              > picked up and this time 2 messages are on the MDB execute queue and 1 is
              processed
              > by the JMSPoller.
              >
              > So based on this the question is ..Is this the expected behavior? I was
              under
              > the impression that the poller would simply dispatch messages to the
              execute queue,
              > and as a result, I was expecting all the messages would get picked up from
              the
              > MQ queue pretty fast and would not have to wait for 1 or more MDB's to
              finish
              > processing.
              >
              > I would really appreciate any suggestions anyone may have for me.
              >
              > Again the environment is WLS 8.1 SP2, MQ 5.3
              >
              > thanks,
              > Ketan
              

  • Error while using webmethod JMS provider with JNDI

    Hi,
    I am using webmethod JMS provider (not SAP JMS) with JNDI to connect to webmethod with XI. Central J2EE adapter engine is used and the comm chaneel is configured in with appropriate Provider JNDI Server address, initial context factory, Name of queue connection factory etc. 
    While activated the adapter short log shows: Adapter has not provided any status information about this channel"
    In the detailed log following error message is displayed: "Obtained connection factory: null#"
    #1.5 #001A4BAC31000052000001520000152200045090BF28DACA#1214482519514#com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl##com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createConnectionFactory()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Path##Plain###Entering method#
    #1.5 #001A4BAC31000052000001530000152200045090BF28DB65#1214482519514#com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl##com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createConnectionFactory()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Debug##Plain###Looking up connection factory under name NAIP_XIQueueConnectionFactory#
    #1.5 #001A4BAC31000052000001540000152200045090BF28E42E#1214482519516#com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl##com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createConnectionFactory()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Debug##Plain###Obtained connection factory: null#
    #1.5 #001A4BAC31000052000001550000152200045090BF28E4B3#1214482519516#com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl##com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createConnectionFactory()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Path##Plain###Exiting method#
    #1.5 #001A4BAC31000052000001560000152200045090BF28E528#1214482519516#com.sap.aii.adapter.jms.core.connector.ConnectorImpl##com.sap.aii.adapter.jms.core.connector.ConnectorImpl.executeConnectionFactoryInvocations()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Path##Plain###Entering method#
    #1.5 #001A4BAC31000052000001570000152200045090BF28E5A9#1214482519517#com.sap.aii.adapter.jms.core.connector.ConnectorImpl##com.sap.aii.adapter.jms.core.connector.ConnectorImpl.executeConnectionFactoryInvocations()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Info##Java###Sucessfully executed CF invocations for connection factory object: for profile: #2#<null>#ConnectionProfile of channel: CC_RCV_JMS_SAPJNDIon node: 3010950 having object id: e4413a5265a436459e271d5e0dd4859b#
    #1.5 #001A4BAC31000052000001580000152200045090BF28E64E#1214482519517#com.sap.aii.adapter.jms.core.connector.ConnectorImpl##com.sap.aii.adapter.jms.core.connector.ConnectorImpl.executeConnectionFactoryInvocations()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Path##Plain###Exiting method#
    #1.5 #001A4BAC31000052000001590000152200045090BF28E6CA#1214482519517#com.sap.aii.adapter.jms.core.connector.ConnectorImpl##com.sap.aii.adapter.jms.core.connector.ConnectorImpl.buildConnection()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Path##Plain###Entering method#
    #1.5 #001A4BAC310000520000015A0000152200045090BF28E741#1214482519517#com.sap.aii.adapter.jms.core.common.StringUtils##com.sap.aii.adapter.jms.core.common.StringUtils.isBlank(String str)#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Path##Plain###Entering method#
    #1.5 #001A4BAC310000520000015B0000152200045090BF28E7C3#1214482519517#com.sap.aii.adapter.jms.core.connector.ConnectorImpl##com.sap.aii.adapter.jms.core.connector.ConnectorImpl.buildConnection()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Debug##Plain###Creating connection...#
    #1.5 #001A4BAC310000520000015C0000152200045090BF28EB51#1214482519518#com.sap.aii.adapter.jms.core.channel.AdapterImpl##com.sap.aii.adapter.jms.core.channel.AdapterImpl.addOrReplaceChannel(Channel cpaChannel)#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Warning##Java###Catching #1#java.lang.NullPointerException
    at com.sap.aii.adapter.jms.core.connector.ConnectorImpl.buildConnection(ConnectorImpl.java:198)
    at com.sap.aii.adapter.jms.core.connector.ConnectorImpl.doConnect(ConnectorImpl.java:166)
    at com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.doConnect(JndiConnectorImpl.java:186)
    at com.sap.aii.adapter.jms.core.connector.ConnectorImpl.connect(ConnectorImpl.java:151)
    at com.sap.aii.adapter.jms.core.channel.ChannelImpl.doStart(ChannelImpl.java:235)
    at com.sap.aii.adapter.jms.core.channel.ChannelImpl.start(ChannelImpl.java:154)
    at com.sap.aii.adapter.jms.core.channel.AdapterImpl.doAddUpdateChannel(AdapterImpl.java:404)
    at com.sap.aii.adapter.jms.core.channel.AdapterImpl.addOrReplaceChannel(AdapterImpl.java:376)
    at com.sap.aii.adapter.jms.core.channel.ChannelLifecycleCallbackImpl$1.run(ChannelLifecycleCallbackImpl.java:51)
    at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)
    at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)
    #1.5 #001A4BAC310000520000015D0000152200045090BF28EC6A#1214482519518#com.sap.aii.adapter.jms.core.channel.AdapterImpl##com.sap.aii.adapter.jms.core.channel.AdapterImpl.addOrReplaceChannel(Channel cpaChannel)#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Error##Plain###[[ChannelName:CC_RCV_JMS_SAPJNDI,ChannelId: e4413a5265a436459e271d5e0dd4859b]] Error adding/updating channel.#
    #1.5 #001A4BAC310000520000015E0000152200045090BF28ECF8#1214482519518#com.sap.aii.adapter.jms.core.channel.AdapterImpl##com.sap.aii.adapter.jms.core.channel.AdapterImpl.addOrReplaceChannel(Channel cpaChannel)#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Path##Plain###Exiting method#
    #1.5 #001A4BAC310000520000015F0000152200045090BF28ED76#1214482519519#com.sap.aii.adapter.jms.core.channel.ChannelLifecycleCallbackImpl##com.sap.aii.adapter.jms.core.channel.ChannelLifecycleCallbackImpl.channelAdded().run()#J2EE_GUEST#0##n/a##8b16bd50437911ddc9f2001a4bac3100#SAPEngine_Application_Thread[impl:3]_16##0#0#Path##Plain###Exiting method#
    #1.5 #001A4BAC3100005F000000660000152200045090BF65478A#1214482523474#com.sap.aii.adapter.jms.core.channel.ChannelLifecycleCallbackImpl#sap.com/com.sap.xi.mdt#com.sap.aii.adapter.jms.core.channel.ChannelLifecycleCallbackImpl.channelAdded(Channel channel)#AAAAAAAAA#108##n/a##002ee500437911dd99cf001a4bac3100#SAPEngine_Application_Thread[impl:3]_29##0#0#Path##Plain###Exiting method#
    Please let me know anyone has come accross the problem or has idea how to solve it. Thanks.

    Hi,
    Ask ur basis admin to restart JMS adpater From Vis administrator and try again to activate the comm channel.
    Hope this will solve ur problem and once again check connection fatcory and Queue name provided by Webmethod admin.
    Regards,
    Srini

  • Connecting to a Remote JMS provider from MDB in jboss-4.0

    Hi,
    I am using Tibco as a remote JMS Provider. When the Tibco server is running on the same machine as JBoss-4.0, the Message Driven Bean deployed in Jboss is able to get the messages from the queue on Tibco server.
    I have added the following configuration to jms-ds.xml file
    <!-- The JMS provider loader -->
    <mbean code="org.jboss.jms.jndi.JMSProviderLoader"
    name="jboss.mq:service=JMSProviderLoader,name=JMSProvider">
    <attribute name="ProviderName">TIBCOJMSProvider</attribute>
    <attribute name="ProviderAdapterClass">
    org.jboss.jms.jndi.JNDIProviderAdapter
    </attribute>
    <!-- The combined connection factory -->
    <!--attribute name="FactoryRef">XAConnectionFactory</attribute-->
    <!-- The queue connection factory -->
    <attribute name="QueueFactoryRef">XAQueueConnectionFactory</attribute>
    <!-- The topic factory -->
    <attribute name="TopicFactoryRef">XATopicConnectionFactory</attribute>
    <attribute name="Properties">
    java.naming.factory.initial=com.tibco.tibjms.naming.TibjmsInitialContextFactory
    java.naming.factory.url.pkgs=com.tibco.tibjms.naming
    java.naming.provider.url=tibjmsnaming://TibcoHost:7222
    </attribute>
    </mbean>
    Also following invoker proxy binding is added to standardjboss.xml & it is used in MDB's jboss.xml
    <invoker-proxy-binding>
    <name>my-mdb-invoker</name>
    <invoker-mbean>does-not-matter</invoker-mbean>
    <proxy-factory>org.jboss.ejb.plugins.jms.JMSContainerInvoker</proxy-factory>
    <proxy-factory-config>
    <JMSProviderAdapterJNDI>TIBCOJMSProvider</JMSProviderAdapterJNDI>
    <ServerSessionPoolFactoryJNDI>StdJMSPool</ServerSessionPoolFactoryJNDI>
    <MinimumSize>1</MinimumSize>
    <KeepAliveMillis>30000</KeepAliveMillis>
    <MaximumSize>15</MaximumSize>
    <MaxMessages>1</MaxMessages>
    <MDBConfig>
    <ReconnectIntervalSec>10</ReconnectIntervalSec>
    <DLQConfig>
    <DestinationQueue>queue/DLQ</DestinationQueue>
    <MaxTimesRedelivered>10</MaxTimesRedelivered>
    <TimeToLive>0</TimeToLive>
    </DLQConfig>
    </MDBConfig>
    </proxy-factory-config>
    </invoker-proxy-binding>
    But When I try to use Tibco server on some other machine it throws following exception. It actually tryies to connect to Tibco server on same machine.
    javax.jms.JMSException: Failed to connect to the server at tcp://localhost:7222
    at com.tibco.tibjms.TibjmsxLinkTcp._createSocket(TibjmsxLinkTcp.java:748)
    at com.tibco.tibjms.TibjmsxLinkTcp.connect(TibjmsxLinkTcp.java:857)
    at com.tibco.tibjms.TibjmsConnection._create(TibjmsConnection.java:611)
    at com.tibco.tibjms.TibjmsConnection.<init>(TibjmsConnection.java:1769)
    at com.tibco.tibjms.TibjmsQueueConnection.<init>(TibjmsQueueConnection.java:35)
    at com.tibco.tibjms.TibjmsxCFImpl._createImpl(TibjmsxCFImpl.java:90)
    at com.tibco.tibjms.TibjmsxCFImpl._createConnection(TibjmsxCFImpl.java:151)
    at com.tibco.tibjms.TibjmsXAQueueConnectionFactory.createQueueConnection(TibjmsXAQueueConnectionFactory.java:140
    at org.jboss.ejb.plugins.jms.DLQHandler.createService(DLQHandler.java:152)
    at org.jboss.system.ServiceMBeanSupport.jbossInternalCreate(ServiceMBeanSupport.java:237)
    at org.jboss.system.ServiceMBeanSupport.create(ServiceMBeanSupport.java:164)
    at org.jboss.ejb.plugins.jms.JMSContainerInvoker.innerCreate(JMSContainerInvoker.java:545)
    at org.jboss.ejb.plugins.jms.JMSContainerInvoker.startService(JMSContainerInvoker.java:767)
    at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:271)
    at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:221)
    at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
    at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:891)
    at $Proxy45.start(Unknown Source)
    at org.jboss.system.ServiceController.start(ServiceController.java:416)
    at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
    at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:170)
    at org.jboss.ejb.MessageDrivenContainer.startService(MessageDrivenContainer.java:262)
    at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:271)
    at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:221)
    at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
    at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:891)
    at $Proxy0.start(Unknown Source)
    at org.jboss.system.ServiceController.start(ServiceController.java:416)
    at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
    at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
    at $Proxy43.start(Unknown Source)
    at org.jboss.ejb.EjbModule.startService(EjbModule.java:394)
    at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:271)
    at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:221)
    at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
    at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:891)
    at $Proxy0.start(Unknown Source)
    at org.jboss.system.ServiceController.start(ServiceController.java:416)
    at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
    at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
    at $Proxy19.start(Unknown Source)
    at org.jboss.ejb.EJBDeployer.start(EJBDeployer.java:605)
    at org.jboss.deployment.MainDeployer.start(MainDeployer.java:935)
    at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:746)
    at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:709)
    at sun.reflect.GeneratedMethodAccessor30.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
    at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:119)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
    at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:131)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
    at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
    at $Proxy8.deploy(Unknown Source)

    Hi,
    I am using Tibco as a remote JMS Provider. When the Tibco server is running on the same machine as JBoss-4.0, the Message Driven Bean deployed in Jboss is able to get the messages from the queue on Tibco server.
    I have added the following configuration to jms-ds.xml file
    <!-- The JMS provider loader -->
    <mbean code="org.jboss.jms.jndi.JMSProviderLoader"
    name="jboss.mq:service=JMSProviderLoader,name=JMSProvider">
    <attribute name="ProviderName">TIBCOJMSProvider</attribute>
    <attribute name="ProviderAdapterClass">
    org.jboss.jms.jndi.JNDIProviderAdapter
    </attribute>
    <!-- The combined connection factory -->
    <!--attribute name="FactoryRef">XAConnectionFactory</attribute-->
    <!-- The queue connection factory -->
    <attribute name="QueueFactoryRef">XAQueueConnectionFactory</attribute>
    <!-- The topic factory -->
    <attribute name="TopicFactoryRef">XATopicConnectionFactory</attribute>
    <attribute name="Properties">
    java.naming.factory.initial=com.tibco.tibjms.naming.TibjmsInitialContextFactory
    java.naming.factory.url.pkgs=com.tibco.tibjms.naming
    java.naming.provider.url=tibjmsnaming://TibcoHost:7222
    </attribute>
    </mbean>
    Also following invoker proxy binding is added to standardjboss.xml & it is used in MDB's jboss.xml
    <invoker-proxy-binding>
    <name>my-mdb-invoker</name>
    <invoker-mbean>does-not-matter</invoker-mbean>
    <proxy-factory>org.jboss.ejb.plugins.jms.JMSContainerInvoker</proxy-factory>
    <proxy-factory-config>
    <JMSProviderAdapterJNDI>TIBCOJMSProvider</JMSProviderAdapterJNDI>
    <ServerSessionPoolFactoryJNDI>StdJMSPool</ServerSessionPoolFactoryJNDI>
    <MinimumSize>1</MinimumSize>
    <KeepAliveMillis>30000</KeepAliveMillis>
    <MaximumSize>15</MaximumSize>
    <MaxMessages>1</MaxMessages>
    <MDBConfig>
    <ReconnectIntervalSec>10</ReconnectIntervalSec>
    <DLQConfig>
    <DestinationQueue>queue/DLQ</DestinationQueue>
    <MaxTimesRedelivered>10</MaxTimesRedelivered>
    <TimeToLive>0</TimeToLive>
    </DLQConfig>
    </MDBConfig>
    </proxy-factory-config>
    </invoker-proxy-binding>
    But When I try to use Tibco server on some other machine it throws following exception. It actually tryies to connect to Tibco server on same machine.
    javax.jms.JMSException: Failed to connect to the server at tcp://localhost:7222
    at com.tibco.tibjms.TibjmsxLinkTcp._createSocket(TibjmsxLinkTcp.java:748)
    at com.tibco.tibjms.TibjmsxLinkTcp.connect(TibjmsxLinkTcp.java:857)
    at com.tibco.tibjms.TibjmsConnection._create(TibjmsConnection.java:611)
    at com.tibco.tibjms.TibjmsConnection.<init>(TibjmsConnection.java:1769)
    at com.tibco.tibjms.TibjmsQueueConnection.<init>(TibjmsQueueConnection.java:35)
    at com.tibco.tibjms.TibjmsxCFImpl._createImpl(TibjmsxCFImpl.java:90)
    at com.tibco.tibjms.TibjmsxCFImpl._createConnection(TibjmsxCFImpl.java:151)
    at com.tibco.tibjms.TibjmsXAQueueConnectionFactory.createQueueConnection(TibjmsXAQueueConnectionFactory.java:140
    at org.jboss.ejb.plugins.jms.DLQHandler.createService(DLQHandler.java:152)
    at org.jboss.system.ServiceMBeanSupport.jbossInternalCreate(ServiceMBeanSupport.java:237)
    at org.jboss.system.ServiceMBeanSupport.create(ServiceMBeanSupport.java:164)
    at org.jboss.ejb.plugins.jms.JMSContainerInvoker.innerCreate(JMSContainerInvoker.java:545)
    at org.jboss.ejb.plugins.jms.JMSContainerInvoker.startService(JMSContainerInvoker.java:767)
    at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:271)
    at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:221)
    at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
    at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:891)
    at $Proxy45.start(Unknown Source)
    at org.jboss.system.ServiceController.start(ServiceController.java:416)
    at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
    at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:170)
    at org.jboss.ejb.MessageDrivenContainer.startService(MessageDrivenContainer.java:262)
    at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:271)
    at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:221)
    at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
    at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:891)
    at $Proxy0.start(Unknown Source)
    at org.jboss.system.ServiceController.start(ServiceController.java:416)
    at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
    at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
    at $Proxy43.start(Unknown Source)
    at org.jboss.ejb.EjbModule.startService(EjbModule.java:394)
    at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:271)
    at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:221)
    at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
    at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:891)
    at $Proxy0.start(Unknown Source)
    at org.jboss.system.ServiceController.start(ServiceController.java:416)
    at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
    at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
    at $Proxy19.start(Unknown Source)
    at org.jboss.ejb.EJBDeployer.start(EJBDeployer.java:605)
    at org.jboss.deployment.MainDeployer.start(MainDeployer.java:935)
    at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:746)
    at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:709)
    at sun.reflect.GeneratedMethodAccessor30.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
    at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:119)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
    at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:131)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
    at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
    at $Proxy8.deploy(Unknown Source)

  • Problem in configuring third party JMS provider

    Hi,
    I am having a problem in configuring Sun MQ 4.4 JMS provider with weblogic 10.3.I tried the following method:-
    1. Created a new outbound connection pool.
    2.In the properties for the connection pool :-
    ConnetionFactory Location :- myTestCF (this is the remote connection factory JNDI)
    Factory properties :- java.naming.factory.initial=com.sun.jndi.fscontext.RefFSContextFactory;java.naming.provider.url=file:/C:/my_object_store;java.naming.security.principal=admin;java.naming.security.credentials=admin
    3.Provided the username and password also.
    But when I am testing it from a SOA composite through a JMS adapter, it is giving me an exception indicating it could not locate the connection factory.I am clueless why this is happening.I've also tried with putting the sun mq jar files inside the <%wl_home%>/user_projects/domains/<%my_domain%>/lib folder.But it did not work.Please help.
    Thanks,
    Rahul

    In third party process SO / PR / PO should be in integrity. Your manual modification violates this I think (you are making one PO item from two SO item...).
    http://help.sap.com/erp2005_ehp_04/helpdata/EN/dd/560287545a11d1a7020000e829fd11/frameset.htm
    Processing Third-Party Orders in Purchasing
    When you save a sales order that contains one or more third-party items, the system automatically creates a purchase requisition in Purchasing. Each third-party item in a sales order automatically generates a corresponding purchase requisition item. During creation of the requisition, the system automatically determines a vendor for each requisition item. If a sales order item has more than one schedule line, the system creates a purchase requisition item for each schedule line.
    Purchase orders are created from purchase requisitions in the usual way. For more information about creating purchase orders, see the Purchasing documentation. During creation of the purchase order, the system automatically copies the delivery address of your customer from the corresponding sales order. In a sales order, you can enter purchase order texts for each third-party item. When you create the corresponding purchase order, the texts are automatically copied into the purchase order. The number of the purchase order appears in the document flow information of the sales order.
    All changes made in the purchase order are automatically made in the sales order as well. For example, if the vendor confirms quantities and delivery dates different from those you request and enters them in the purchase order, the revised data is automatically copied into the sales order.
    Regards,
    Csaba

  • Configuration of JMS receiver  Using Jboss JMS provider

    Hi all..
    I am configuring JMS adapter as receiver.
    I am using JMS provider JBOSS .
    I hav done configuration as
    Transport protocol :Acess JMS provider with JNDI
    JNDI lookUp Name of q connection factory: org.jboss.naming.LinkRefPairService
    Name of JNDI initial Context factory :org.jnp.interfaces.NamingContextFactory
    in sxmb_moni I am getting blak&white flag
    IN Run time work bench In adapter monitoring I am getting
    Receiver channel. Details: Cannot instantiate class: org.jnp.interfaces.NamingContextFactory.
    Can anybody plz tell me why this haapend?

    Did you deploy the JMS client jars to the J2EE Engine?
    Cannot instantiate class: org.jnp.interfaces.NamingContextFactory  sounds like the Framework can't find the class.
    Take a look here:
    Re: Using JBOSS JMS provider with XI
    Greetz
          Sebastian
    Message was edited by: Sebastian Simon

  • Sender JMS Adapter error: The JMS provider gave the error message as Not permitted, and the error code is null

    I am trying to connect tibcoems with PI using a Sender jms adapter.After successfully installing the drivers , the sender adapter goes into error.
    "The JMS Provider gave the error message as Not permitted, and the error code is null"
    The Transport protocol is 'Access JMS Provider with JNDI' and i have been given the required parameters from the tibco guys.
    Your input are highly appreciated.
    Shyam

    Hi AQmit,
    Thanks for the reply.
    Please find the screenshots of what i am trying to do.
    Also, Can u direct me how to check the right logs?

  • Get Message Notification in BPM 10G from External JMS Provider

    Hello,
    Can anyone provide me the steps how to get a message from the queue (external JMS provider) in BPM 10G.
    I have been looking into this for couple of days now and I'm not able to figure it out. Any input on this would be greatly appreciated.
    Thanks
    NC

    Hi,
    Please find the steps below and change the necessary parameter according to your requirement.
    JMS Configuration and read the message from queue a
    1) Configure a J2EE Configuration in External Resources with the following details.
    Where
    Name: J2EEConfiguration
    Initial Context Factory: weblogic.jndi.WLInitialContextFactory
    URL: t3://localhost:7001
    Principal: weblogic
    Credentials: weblogic
    2) Configure a JMS Configuration in External Resources with the following details
    Where
    Name: JMSConfiguration
    J2EE: J2EEConfiguration
    Destination Type: Queue
    Lookup Name: com.bibhu.queue – Refer to JMS configuration in Weblogic Server
    Connection Factory Lookup Name: com.bibhu.cf – Refer to JMS configuration
    3) Configure a Java Configuration in External Resources with the following details
    Add weblogic.jar, wsclient.jar, and jms.jar files
    4) Create a process and add a Global automatic Activity with the following configuration
    5) Add the following code for different purpose
    // The below code is meant for reading a message/messages from Queue
    logMessage("JMS message retrieved from queue: \n" + message.textValue);
    // The below code is meant for sending message to the Queue Where,
    // JMSConfiguration: is the External Resource Configuration for JMS
    // Bibhu: is the message body
    String externalResourceId = "JMSConfiguration";
    String msgBody = "Bibhu";
    JmsMessage jmsMsg = JmsMessage(type : JmsMessageType.TEXT);
    jmsMsg.textValue = msgBody;
    jmsMsg.expiration = 'now' + '5m'; // expires in 5 minutes
    sendMessage(DynamicJMS, configuration : externalResourceId, message : jmsMsg);
    hope the above will help you.
    Bibhu

  • Trying to start the j2ee to be the JMS provider but why error

    Anyone knows why I can't start the j2ee ..which I hope to use it as the JMS provider. I am trying to try the e.g. from JMS tutorial....
    But it seems that I can't start the j2ee in the first place 'cos error say that I have another instance running...(but I didn't start anything in the first place). How should I solve this?
    How could I stop the j2ee server....I tried the command
    j2ee -stop but cannot..
    Anyone can help?
    AG
    G:\jmseg\simple>j2ee -verbose
    J2EE server listen port: 1050
    java.lang.RuntimeException: Could not initialize j2ee server. Possible cause cou
    ld be another instance of the server already running.
    at com.sun.enterprise.iiop.POAProtocolMgr.initializeNaming(POAProtocolMg
    r.java:134)
    at com.sun.enterprise.server.J2EEServer.run(J2EEServer.java:227)
    at com.sun.enterprise.server.J2EEServer.main(J2EEServer.java:918)
    java.lang.RuntimeException: Could not initialize j2ee server. Possible cause cou
    ld be another instance of the server already running.
    at com.sun.enterprise.iiop.POAProtocolMgr.initializeNaming(POAProtocolMg
    r.java:134)
    at com.sun.enterprise.server.J2EEServer.run(J2EEServer.java:227)
    at com.sun.enterprise.server.J2EEServer.main(J2EEServer.java:918)
    java.lang.RuntimeException: Could not initialize j2ee server. Possible cause cou
    ld be another instance of the server already running.
    at com.sun.enterprise.server.J2EEServer.run(J2EEServer.java:355)
    at com.sun.enterprise.server.J2EEServer.main(J2EEServer.java:918)
    J2EE server reported the following error: Could not initialize j2ee server. Poss
    ible cause could be another instance of the server already running.
    Error executing J2EE server ...
    G:\jmseg\simple>

    I got exactly the same message when I tried to start j2ee server... It worked fine the second time round though, So I suggest you try it again.
    tim..

Maybe you are looking for

  • Have problem wiht "Deploying The SRDemo on WebLogic Servers"-Shay Shmeltzer

    hi : I have read "Deploying The SRDemo ADF Sample Application on WebLogic Servers " Written by Shay Shmeltzer in the link :http://www.oracle.com/technology/products/jdev/howtos/weblogic/deployingwls.html i follow the step in the file :but i can't fin

  • Getting the parameters in url using cfgrid to cfc....

    please help!!! passing parameters to cfc using the cfgrid bind... im using the cfc bind if u hard coded the query in the cfc its works but if u need to pass a parameters in cfc bind its not working... for example... my url with parameter is http://lo

  • Tungsten E & Outlook 2007 won't sync

    Hello.  I just moved to a new laptop with Outlook 2007 and Win XP Pro.  It's the same exact setup I had on my old laptop, but now my Palm E2 won't sync.  I've reinstalled the latest Palm software and Outlook conduits twice, and done a hard reset on m

  • Can I control a stepper motor by a time varying velocity input?

    I want to control the motion of the stepper motor by a velocity input that looks something like a Sine wave.The velocity is changing as a function of time. Can I change the velocity of the motor at a prescribed time interval? Thanks in advance Kevin

  • KDE Device Notifier command for specific Konqueror View Profile?

    Hi, I added a custom action in KDE device notifier widget for optical devices to be opened with Konqueror. However, is it possible to modify that command so that Konqueror opens with a specific view profile? Many thanks in advance.