Using dynamic queues in jms

I am making messenger using jms
Can anyone tell me
**if createQueue() or createTemporaryQueue() should be used for queue creation.
**if createTemporaryQueue() is used,i think offline messages can't be sent
**i am unable to create the queue,plz tell exactly how i can create it
Thanx in advance

createQueue/Topic do not create the physical destination but only the address to it. Queues and Topics are administered objects in JMS and are usually created by your JMS vendors admin tools / config files. Some provider even create the destinations on the fly (first use).
-- Andreas

Similar Messages

  • How to create and use dynamic queue in JMS

    Plz tell me how to create and use a dynamic queue in jms and can reciever file lookup it as it lookup any server configurred queue(written in the server).

    Hi,
    We can use Azure File services to do this, for more information, please have a look at this article:
    http://blogs.msdn.com/b/windowsazurestorage/archive/2014/05/12/introducing-microsoft-azure-file-service.aspx. The Azure File service exposes file shares using the standard SMB 2.1 protocol. Applications running in Azure can now easily share files between
    VMs using standard and familiar file system APIs like ReadFile and WriteFile.
    Best Regards,
    Jambor
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Dynamic queue name with JMS Queue XML?

    Hi,
    Is it possible to use dynamic queue name with JMS Queue XML?
    I tried using a variable in the JNDI URL, and supply the value in a package. I specified the following in the JNDI URL in the Topology:
    e.g.
    <JMS_RESOURCE>?d=<DTD_FILE>&s=<SCHEMA>&JMS_DESTINATION=#PROJECT_NAME.dest_var
    I declared and set the variable in a package, then tried to load data from the above data server to database. But executing this package gave me the following error:
    7000 : null : java.sql.SQLException: javax.jms.JMSException: Cannot find the target in JNDI (#PROJECT_NAME.dest_var)
    java.sql.SQLException: javax.jms.JMSException: Cannot find the target in JNDI (#PROJECT_NAME.dest_var)
         at com.sunopsis.jdbc.driver.bg.executeQuery(bg.java)
         at com.sunopsis.jdbc.driver.bh.executeQuery(bh.java)
         at com.sunopsis.jdbc.driver.l.f(l.java)
         at com.sunopsis.jdbc.driver.l.executeUpdate(l.java)
         at com.sunopsis.sql.SnpsQuery.executeUpdate(SnpsQuery.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execSrcOrders(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSqlC.treatTaskTrt(SnpSessTaskSqlC.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
         at com.sunopsis.dwg.cmd.DwgCommandScenario.treatCommand(DwgCommandScenario.java)
         at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
         at com.sunopsis.dwg.cmd.e.i(e.java)
         at com.sunopsis.dwg.cmd.g.y(g.java)
         at com.sunopsis.dwg.cmd.e.run(e.java)
         at java.lang.Thread.run(Unknown Source)
    Am I doing it wrongly?
    Thanks!

    hi,
    as it's not in Adapter-Specific Message Properties
    http://help.sap.com/saphelp_nw04/helpdata/en/10/b1b4c8575a6e47954ad63438d303e4/content.htm
    looks like you cannot do it with jms adapter in standard
    use proxy or your own adapter instead
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

  • Error in using the JMS Adater using weblogic queue

    I am using weblogic queue in jms adapter to queue the data. i configured the server.xml
         <shared-library name="oracle.weblogic" version="10.1.3">
              <code-source path="D:\product\10.1.3.1\OracleAS_5\jdk\lib\weblogic.jar"/>
         </shared-library>
    I got the following error. Any Suggestions?
    file:/D:/product/10.1.3.1/OracleAS_5/bpel/domains/default/tmp/.bpel_OSM_OrderRequest_2.0_c68a29fd8af11327e1a8892e8de5a6bb.tmp/Sample.wsdl [ Produce_Message_ptt::Produce_Message(orderRequestMessage) ] - WSIF JCA Execute of operation 'Produce_Message' failed due to: Could not instantiate InteractionSpec oracle.tip.adapter.jms.outbound.JmsProduceInteractionSpec due to:
         Missing class: oracle.tip.adapter.jms.outbound.JmsProduceInteractionSpec
         Dependent class: oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA
         Loader: oracle.bpel.common:10.1.3
         Code-Source: /D:/product/10.1.3.1/OracleAS_5/bpel/lib/orabpel.jar
         Configuration: <code-source> in /D:/product/10.1.3.1/OracleAS_5/j2ee/oc4j_soa/config/server.xml
    This load was initiated at orabpel.root:0.0.0 using the Class.forName() method.
    The missing class is not available from any code-source or loader in the system.; nested exception is:
         oracle.classloader.util.AnnotatedClassNotFoundException:
         Missing class: oracle.tip.adapter.jms.outbound.JmsProduceInteractionSpec
         Dependent class: oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA
         Loader: oracle.bpel.common:10.1.3
         Code-Source: /D:/product/10.1.3.1/OracleAS_5/bpel/lib/orabpel.jar
         Configuration: <code-source> in /D:/product/10.1.3.1/OracleAS_5/j2ee/oc4j_soa/config/server.xml
    This load was initiated at orabpel.root:0.0.0 using the Class.forName() method.
    The missing class is not available from any code-source or loader in the system.; nested exception is:
         org.collaxa.thirdparty.apache.wsif.WSIFException: Could not instantiate InteractionSpec oracle.tip.adapter.jms.outbound.JmsProduceInteractionSpec due to:
         Missing class: oracle.tip.adapter.jms.outbound.JmsProduceInteractionSpec
         Dependent class: oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA
         Loader: oracle.bpel.common:10.1.3
         Code-Source: /D:/product/10.1.3.1/OracleAS_5/bpel/lib/orabpel.jar
         Configuration: <code-source> in /D:/product/10.1.3.1/OracleAS_5/j2ee/oc4j_soa/config/server.xml
    This load was initiated at orabpel.root:0.0.0 using the Class.forName() method.
    The missing class is not available from any code-source or loader in the system.; nested exception is:
         oracle.classloader.util.AnnotatedClassNotFoundException:
         Missing class: oracle.tip.adapter.jms.outbound.JmsProduceInteractionSpec
         Dependent class: oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA
         Loader: oracle.bpel.common:10.1.3
         Code-Source: /D:/product/10.1.3.1/OracleAS_5/bpel/lib/orabpel.jar
         Configuration: <code-source> in /D:/product/10.1.3.1/OracleAS_5/j2ee/oc4j_soa/config/server.xml
    This load was initiated at orabpel.root:0.0.0 using the Class.forName() method.
    The missing class is not available from any code-source or loader in the system.
    </summary>
    </part>
    -<part name="detail">
    <detail>
    org.collaxa.thirdparty.apache.wsif.WSIFException: Could not instantiate InteractionSpec oracle.tip.adapter.jms.outbound.JmsProduceInteractionSpec due to:
         Missing class: oracle.tip.adapter.jms.outbound.JmsProduceInteractionSpec
         Dependent class: oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA
         Loader: oracle.bpel.common:10.1.3
         Code-Source: /D:/product/10.1.3.1/OracleAS_5/bpel/lib/orabpel.jar
         Configuration: <code-source> in /D:/product/10.1.3.1/OracleAS_5/j2ee/oc4j_soa/config/server.xml
    This load was initiated at orabpel.root:0.0.0 using the Class.forName() method.
    The missing class is not available from any code-source or loader in the system.; nested exception is:
         oracle.classloader.util.AnnotatedClassNotFoundException:
         Missing class: oracle.tip.adapter.jms.outbound.JmsProduceInteractionSpec
         Dependent class: oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA
         Loader: oracle.bpel.common:10.1.3
         Code-Source: /D:/product/10.1.3.1/OracleAS_5/bpel/lib/orabpel.jar
         Configuration: <code-source> in /D:/product/10.1.3.1/OracleAS_5/j2ee/oc4j_soa/config/server.xml
    This load was initiated at orabpel.root:0.0.0 using the Class.forName() method.
    The missing class is not available from any code-source or loader in the system.

    I am able to fix this error by copying "JmsAdapter.jar" to "applib" directory of oc4j_soa.
    I was getting a new error.
    +"Missing class: oracle.tip.adapter.api.TranslationAware+
    +     Dependent class: oracle.tip.adapter.jms.JmsInteractionSpec+
    +     Loader: global.libraries:1.0+
    +     Code-Source: /D:/SOA1013/j2ee/oc4j_soa/applib/JmsAdapter.jar+
    +     Configuration: <code-source> in /D:/SOA1013/j2ee/oc4j_soa/config/server.xml+
    +The missing class is available from the following locations:+
    +     1. Code-Source: /D:/SOA1013/bpel/lib/orabpel.jar (from <code-source> in /D:/SOA1013/j2ee/oc4j_soa/config/server.xml)+
    +     This code-source is available in loader oracle.bpel.common:10.1.3."+
    But managed it to fix it by copying "orabpel.jar" to "applib" directory.
    We need to restart OC4J once we copy the JAR files.
    regards,
    S.Vasanth Kumar.

  • Dynamic Queues using JMS Adapter - Possible?

    Can anyone advise if its possible to dynamically set the JMS Queue DestinationName at runtime when using the JMS Adapter?
    My guess is not, but I thought I'd ask anyway...
    Dennis

    Hi Dennis,
    Did u get a solution for this.
    Even i have a same scenario where i have to select the destination queue dynamically.
    Any help in this regards...
    Regards
    Ashwini

  • Help on Dynamic queue name in JMS Adapter

    Hi Experts,
      Could you please explain how to configure dynamic queue name in JMS Adapter.
    My requirement is i would have to add the date and time to JMS Queue Name in receiver JMS Adapter.
    Thanks in Advance
    Chilla

    hi,
    as it's not in Adapter-Specific Message Properties
    http://help.sap.com/saphelp_nw04/helpdata/en/10/b1b4c8575a6e47954ad63438d303e4/content.htm
    looks like you cannot do it with jms adapter in standard
    use proxy or your own adapter instead
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

  • JMS dynamic queue time out

    I need to create a JMS dynamic queue and wait to listen in that queue for say 5 secs. Can anyone explain how this works. i.e I want to know what will happen after 5 secs. Will I receive a JMS Message object which is null or it will throw some exception. How do I know that it has timed out.I need to implement some logic based on the fact that the message has timed out.

    Why can't use a timer whereby onTimeOut simply compare the present time and the time the listener starts listening to the dynamic queue. If this is above 5seconds then do what soever you intend doing
    Ivo

  • Dynamic Queue names at JMS receiver

    HI All,
                I have a scenario where sender is an RFC and receiver is via JMS  and also get a reply back . JMS is asynchonous but as suggested in other threads it is possible to capture the response by setting some Adapter specific parameters.
                But my problem is the queue name for the response is not constant and it varies from request to request for the response. I have no clue how to achieve this , I tried searching some threads but couldn't come to a conclusion.
                Possibility of dynamic MQ queue selection in one receiver JMS channel
                help on Dynamic queue name in JMS Adapter
    Has anyone come across such a situation ? Please suggest.
    Also In one of threads it was suggested to use Java Proxy?  Please suggest a way forward in this approach too
    Regards,
    Mohan.

    > please refer the link what you provided in section 2.8 mentioned JMS Receiver communication channel will give response back,but i never tried.
    Yest because this document is applicabe for a scenario where request msg will come form sender JMS to XI and then Response will be sent back again to JMS by using receiver JMS adapter. So senario is JMS request --- R3 (via XI) --- R3 response to JMS.
    But here case is different. e.g. RFC --> PI --> JMS  and reply will get back from JMS  to RFC.  So definetly in this case response will come from sender JMS and not from receiver JMS.
    Read sec 2.8 throughly, you will come to know how to set the queue names dynamically for RECEIVER JMS Adapter.
    Regards,
    Sarvesh

  • Issues in TIME OUT for Dynamic Queues- Using  IBM MQ Client

    Hi
    I have an issue with Dynamic queues. I am using IBM websphere as my Mesaging server and IBM MQ client. I need to send a request to a static queue and then wait for a response for a specified duration(in my case it is 100 millisecs) in the corresponding dynamic queue.But what I found out that in some cases, I got response even after 100 ms !!!! Here's my code. Is there anything wrong going on somewhere???
    com.ibm.mq.jms.MQTemporaryQueue replyToQueue = com.ibm.mq.jms.MQTemporaryQueue)queueSession.createTemporaryQueue();
    replyToQueue.setTargetClient(JMSC.MQJMS_CLIENT_JMS_COMPLIANT);
    requestMsg.setJMSReplyTo(replyToQueue);
    long t1 = System.currentTimeMillis();
    queueSender.send(requestMsg);
    queueReceiver = queueSession.createReceiver(replyToQueue);
    queueConnection.start();
    m = queueReceiver.receive(100);
    long t2 = System.currentTimeMillis();
    if(m != null){
    System.out.println("Response Time: " + (t2 - t1) + " ms");}
    I have left out the queueSession and queueSender piece of code here.
    Anyways, I found 1 response in 122 ms and another in 128 ms. Can anyone throw some light as to why and how this is happening?

    Don't run from the client ... run from the server
    or
    if running from a client use the built-in DBMS_DATAPUMP package's API.
    http://www.morganslibrary.org/reference/pkgs/dbms_datapump.html

  • JMS Wrappers can't cache JNDI lookups when using secured queues

    Hi All!
    We are working on a jms client, inside a webapp(servlets), using Weblogic 9.2 and Weblogic 10.3.
    As we want to use secured queues and keep being efficient we tryed to use Weblogic JMS Wrappers, that should work according to the docs:
    Enhanced Support for Using WebLogic JMS with EJBs and Servlets
    http://download.oracle.com/docs/cd/E12840_01/wls/docs103/jms/j2ee.html
    But we are facing a problem:
    When we define a JMS Wrapper and try to cache JNDI lookups for the QueueConnectionFactory and Queue, as the docs recommend for efficiency, the connection to the queue is ignoring the user/pwd.
    The JMS Wrapper is using <res-auth>Application</res-auth>.
    We are creating the connection using createQueueConnection(user, pwd) from QueueConnectionFactory and after several tests it seems that the user and password are ingored unless a jndi lookup is made in the same thread, as if when there are not any thread credentials present user and password are ignored for the connection...
    so the question is:
    That behaviour goes against Weblogic JMS Wrapper documentation, doesn't it?
    Is there then any other way to access efficiently secured queues using a servlet as a client? (iit's not an option for us to use mdbs, or ejbs).
    If it helps, this seems related to this still opened spring-weblogic issue: SPR-2941 --> http://jira.springframework.org/browse/SPR-2941 and SPR-4720 --> http://jira.springframework.org/browse/SPR-4720
    Thanxs
    And here goes our DDs and code to reproduce:
    First in pretty format:
    web.xml --> http://pastebin.com/f5f85e8d4
    weblogic.xml --> http://pastebin.com/f2fbe10cc
    Client code --> http://pastebin.com/f586d32d9
    And now emmebded in the msg:
    web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <weblogic-web-app
      xmlns="http://www.bea.com/ns/weblogic/90"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.bea.com/ns/weblogic/90
      http://www.bea.com/ns/weblogic/90/weblogic-web-app.xsd">
        <description>WebLogic Descriptor</description>
        <resource-description>
            <res-ref-name>jms/QCF</res-ref-name>
            <jndi-name>weblogic.jms.ConnectionFactory</jndi-name>
        </resource-description>
    </weblogic-web-app>weblogic.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
          <display-name> QCFWrapperCredentialsTest </display-name>
          <description> QCFWrapperCredentialsTest  </description>
          <servlet id="Servlet_1">
             <servlet-name>QCFWrapperCredentialsTest</servlet-name>
             <servlet-class>QCFWrapperCredentialsTest</servlet-class>
             <load-on-startup>1</load-on-startup>
          </servlet>
          <servlet-mapping id="ServletMapping_1">
             <servlet-name>QCFWrapperCredentialsTest</servlet-name>
             <url-pattern>/Test</url-pattern>
          </servlet-mapping>
         <resource-ref>
            <res-ref-name>jms/QCF</res-ref-name>
            <res-type>javax.jms.QueueConnectionFactory</res-type>
            <res-auth>Application</res-auth>
            <res-sharing-scope>Shareable</res-sharing-scope>
        </resource-ref>
    </web-app>And our test client:
    import java.io.*;
    import java.util.Properties;
    import javax.jms.*;
    import javax.naming.*;
    import javax.servlet.http.*;
    public class QCFWrapperCredentialsTest extends HttpServlet {
        QueueConnectionFactory factory = null;
        Queue queue = null;
        String jndiName = "java:comp/env/jms/QCF";
        String queueName= "jms/ColaEntradaConsultas";
        String user = "usuarioColas";
        String pwd = "12345678";
        String userjndi = "usuarioColas";
        String pwdjndi = "12345678";
        String serverT3URL="t3://127.0.0.1:7007";
        public void init() {
            setupJNDIResources();
        private void setupJNDIResources(){
            try {
                Properties props = new Properties();
                props.put("java.naming.factory.initial",
                        "weblogic.jndi.WLInitialContextFactory");
                props.put("java.naming.provider.url",serverT3URL );
                props.put("java.naming.security.principal", userjndi);// usr
                props.put("java.naming.security.credentials", pwdjndi);// pwd
                InitialContext ic = new InitialContext(props);
                factory = (QueueConnectionFactory) ic.lookup(jndiName);
                queue = (Queue) ic.lookup(queueName);
            } catch (NamingException e) {
                e.printStackTrace();
        public void service(HttpServletRequest req, HttpServletResponse res) {
            res.setContentType("text/html");
            Writer wr = null;
            try {
                wr = res.getWriter();
                //Comment this out, do a lookup for each request and it will work
                //setupJNDIResources();
                String user = this.user;
                String pwd = this.pwd;
                //read users and passwords from the request in case they are present
                if (req.getParameter("user") != null) {
                    user = req.getParameter("user");
                if (req.getParameter("pwd") != null) {
                    pwd = req.getParameter("pwd");
                wr.write("JNDI  User: *" + userjndi + "* y pwd: *" + pwdjndi + "*<p>");
                wr.write("Queue User: *" + user + "* y pwd: *" + pwd + "*<p>");
                //Obtain a connection using user/pwd
                QueueConnection conn = factory.createQueueConnection(user, pwd);
                QueueSession ses = conn.createQueueSession(true,
                        Session.SESSION_TRANSACTED);
                QueueSender sender = ses.createSender(queue);
                TextMessage msg = ses.createTextMessage();
                msg.setText("Hi there!");
                conn.start();
                sender.send(msg);
                ses.commit();
                sender.close();
                ses.close();
                conn.close();
            } catch (Exception e) {
                e.printStackTrace();
                try {
                    wr.write(e.toString());
                } catch (Exception e2) {
                    e2.printStackTrace();
            finally{
                try {
                    wr.close();
                } catch (IOException e) {
                    e.printStackTrace();
    }Edited by: user2525402 on Feb 9, 2010 7:14 PM

    Thanks Tom,
    Quite a useful response .-)
    Leaving aside the fact that weblogic behaviour with jms wrappers and secured queues seems to not be working as the docs says...
    Talking about workarounds:
    Both workarounds you suggest works, but as you already noted, creating a new JNDI context just to inject credentials into the threads is overkill when high performance is needed.
    I also found more information about the same issue here: http://sleeplessinslc.blogspot.com/2009/04/weblogic-jms-standalone-multi-threaded.html
    And he suggest the same workaround, injecting credentials
    So I tried the second approach, successfully, injecting credentials into the thread using the security API.
    This way, using JMS wrappers and injecting credentials into the thread we get the best performance available, caching resource using wrappers and using credentials in a somewhat efficient way.
    Now the test snippet looks like this:
    import java.io.*;
    import java.security.PrivilegedAction;
    import java.util.Properties;
    import javax.jms.*;
    import javax.naming.*;
    import javax.security.auth.Subject;
    import javax.security.auth.login.LoginException;
    import javax.servlet.http.*;
    import weblogic.jndi.Environment;
    import weblogic.security.auth.Authenticate;
    public class JMSWrapperCredentialsTest extends HttpServlet {
        QueueConnectionFactory factory = null;
        Queue queue = null;
        String jndiName = "java:comp/env/jms/QCF";
        String queueName= "jms/ColaEntradaConsultas";
        String user = "usuarioColas";
        String pwd = "12345678";
        String userjndi = "usuarioColas";
        String pwdjndi = "12345678";
        String serverT3URL="t3://127.0.0.1:7007";
        public void init() {
            setupJNDIResources();
        private void setupJNDIResources(){
            try {
                Properties props = new Properties();
                props.put("java.naming.factory.initial",
                        "weblogic.jndi.WLInitialContextFactory");
                props.put("java.naming.provider.url",serverT3URL );
                props.put("java.naming.security.principal", userjndi);// usr
                props.put("java.naming.security.credentials", pwdjndi);// pwd
                InitialContext ic = new InitialContext(props);
                factory = (QueueConnectionFactory) ic.lookup(jndiName);
                queue = (Queue) ic.lookup(queueName);
            } catch (NamingException e) {
                e.printStackTrace();
        public void service(HttpServletRequest req, HttpServletResponse res) {
            final HttpServletRequest fReq=req;
            final HttpServletResponse fRes=res;
            PrivilegedAction action = new java.security.PrivilegedAction() {
                public java.lang.Object run() {
                    performRequest(fReq,fRes);
                    return null;
            try {
                Subject subject=createSingleSubject(serverT3URL,user,pwd);
                weblogic.security.Security.runAs(subject, action);
            } catch (Exception e) {
                e.printStackTrace();
        public void performRequest(HttpServletRequest req, HttpServletResponse res) {
            res.setContentType("text/html");
            Writer wr = null;
            try {
                wr = res.getWriter();
                //Comment this out, do a lookup for each request and it will work
                //setupJNDIResources();
                String user = this.user;
                String pwd = this.pwd;
                //read users and passwords from the request in case they are present
                if (req.getParameter("user") != null) {
                    user = req.getParameter("user");
                if (req.getParameter("pwd") != null) {
                    pwd = req.getParameter("pwd");
                wr.write("JNDI  User: *" + userjndi + "* y pwd: *" + pwdjndi + "*<p>");
                wr.write("Queue User: *" + user + "* y pwd: *" + pwd + "*<p>");
                //Obtain a connection using user/pwd
                QueueConnection conn = factory.createQueueConnection(user, pwd);
                QueueSession ses = conn.createQueueSession(true,
                        Session.SESSION_TRANSACTED);
                QueueSender sender = ses.createSender(queue);
                TextMessage msg = ses.createTextMessage();
                msg.setText("Hi there!");
                conn.start();
                sender.send(msg);
                ses.commit();
                sender.close();
                ses.close();
                conn.close();
            } catch (Exception e) {
                e.printStackTrace();
                try {
                    wr.write(e.toString());
                } catch (Exception e2) {
                    e2.printStackTrace();
            finally{
                try {
                    wr.close();
                } catch (IOException e) {
                    e.printStackTrace();
        private Subject createSingleSubject(String providerUrl, String userName, String password) {
            Subject subject = new Subject();
            // Weblogic env class
            Environment env = new Environment();
            if(providerUrl!=null)
                env.setProviderUrl(providerUrl);
            env.setSecurityPrincipal(userName);
            env.setSecurityCredentials(password);
            try {
              // Weblogic Authenticate class will populate and Seal the subject
              Authenticate.authenticate(env, subject);
              return subject;
            catch (LoginException e) {
              throw new RuntimeException("Unable to Authenticate User", e);
            catch (Exception e) {
              throw new RuntimeException("Error authenticating user", e);
    }Thanks a lot for the help

  • How to use a queue with dynamic data

    When using a collector I have found that it significantly slows down my loop times. I am using LabView7.1 on a Dell PC with Windows XP.  If I use a queue with dynamic data do you think that will require less of my processor and allow for faster loop speeds?
    I have created a queue using dynamic data in one loop and I want to retrieve all available samples each iteration in a slower loop. If I use the flush queue I get a 1d array of dynamic data. What is the best way to convert the 1d array of dynamic data so that the array of dynamic data is consolidated back into a single dynamic data type? Any help would be much appreciated.

    Hi Dennis,
    You could for instance wire the array to an auto-indexed for loop. I attach an example. I assume you wish to concatenate the arrays a singel waveform.
    Hope it helps,
    Pelle S
    District Sales Manager
    National Instruments Sweden
    Attachments:
    Dynamic queue.vi ‏245 KB

  • SOA Suite 11g - dynamic JNDI destination JMS adapter

    hi there soa suite users,
    im currently using oracle soa suite 11g,
    my use case having a bpel process processing something
    and then route the result to several queue.
    like this:
    jms/adminduk/queue/mks1
    jms/adminduk/queue/pdg1,
    etc...
    so the destination name can be build dynamically in the bpel,
    and i stored in a string variable "destName".
    (im using WLS 10.3 jms)
    now i need to invoke a jms adapter service with produce operation,
    but the queue destination needs to be using the variable "destName".
    i already tried using assigning to property "jca.jms.JMSDestinationName"
    in the invoke activity.
    <invoke ...>
    <bpelx:inputProperty name="jca.jms.JMSDestinationName"
    variable="destName"/>
    </invoke>
    but it seems not working, and im getting this error:
    Caused by: com.oracle.bpel.client.BPELFault: faultName: {{http://schemas.oracle.com/bpel/extension}bindingFault}
    parts: {{
    summary=<summary>Exception occured when binding was invoked.
    Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation
    'SendSinkBioWniFromDaerahResponse' failed du
    e to: ERRJMS_ERR_CR_QUEUE_PROD.
    ERRJMS_ERR_CR_QUEUE_PROD.
    Unable to create Queue producer due to JMSException.
    The invoked JCA adapter raised a resource exception.
    Please examine the above error message carefully to determine a resolution.
    </summary>
    ,detail=<detail>[JMSExceptions:045103]While trying to find a topic or a queue we could not find the specific JMSServer
    requested. The linked
    exception may contain more information about the reason for failure.</detail>
    ,code=<code>null</code>
    this is a basic use case of jms interoperability,
    anyone have answers to this ??
    thank you :)

    Hi,
    If someone is looking to dynamically set the JMSqueue name here is the solution.
    in the Invoke activity set "jca.jms.JMSDestinationName"
    value to "JMSHeaderVariable"
    set the type to "input"
    in the JMSHeaderVariable set the queue name dynamically.
    and in the JMSadapter give any valid queue name, still the message will be routed to the queue which you have set in the invoke adapter.

  • MessageQ: dynamic queue names

    In our application we would like to do the following:
    at runtime, attach to a temporary, secondary queue.
    bind some arbitrary name to this queue. exec a new process with the new queue
    name given to it as parameter.
    The 'child' process should be able to read messages put on the queue by the 'father'.
    I haven't been able to get this to work. After creating
    a temporary, secondary queue, my bind_q call fails with a PAMS__NOOBJECT error.
    Are there any configuration items that are needed before this
    can work?
    Thanks, Guy
    If theres a more appropriate forum for MessageQ questions, could you please point
    me to it? Thanks, Guy

    > please refer the link what you provided in section 2.8 mentioned JMS Receiver communication channel will give response back,but i never tried.
    Yest because this document is applicabe for a scenario where request msg will come form sender JMS to XI and then Response will be sent back again to JMS by using receiver JMS adapter. So senario is JMS request --- R3 (via XI) --- R3 response to JMS.
    But here case is different. e.g. RFC --> PI --> JMS  and reply will get back from JMS  to RFC.  So definetly in this case response will come from sender JMS and not from receiver JMS.
    Read sec 2.8 throughly, you will come to know how to set the queue names dynamically for RECEIVER JMS Adapter.
    Regards,
    Sarvesh

  • JMS Queue Vs JMS replyTo Queue name for Receiver JMS channel.

    HI,
    I am working with receiver JMS adapter and using the protocol WbeSphereMQ JMS provider.
    Here I could not able to figure out the difference between the following parameter.
    Target tab JMS Queue  and Processing tab-JMS replyTo Queue name.
    I tries the find the same in help.sdn.com but here also not able to find correct information .
    for Processing tab -JMS replyTo Queue name Parameter it is written that "Specify the name of the queue to which the responses are to be sent."
    But what is the use of Target tab JMS Queue Parameter. No information is given against this parameter.
    http://help.sap.com/saphelp_nw04/helpdata/en/10/b1b4c8575a6e47954ad63438d303e4/frameset.htm
    regards,
    Navneet.

    the initial JMS Queue is the queue you will connect too.
    i guess SAP felt an explanation to that was not required....
    SAP does not even bother to explain it here in the specific link to JMS-Provider-Specific Settings (for Webshpere although it does for SonicMQ!).
    http://help.sap.com/saphelp_nw04/helpdata/en/c1/739c4186c2a409e10000000a155106/frameset.htm
    I do not use the "ReplyTo" in my current scenarios.

  • Reg: Dynamic  Queue name

    Hello Experts,
    Although I am not  a PI expert i would like to ask ,
    Can I have Dynamic Queue name generation on the basis of the payload which i am receiving
    Quality of service my be any EO or EOIO .
    For example My pay load stream my contain  Data for Purchase Req. Creation   / and change its a known fact that Creation payload should come first and then change so my Question is can i have my queue name on basis of the Document which i am processing ?

    I dont thnik this is possible in PI for generating queue names based on payload. As Queue should be utilized proper way and based on the PI resources like work processes,.
    But for your scenario, you can use EOIO and specify queue name accordingly for both scenarios.
    And you can do Queue prioritization to assure the creation payload followed by change payload.
    --Divyesh

Maybe you are looking for