JMS destination and queue in jndi.properties

I am using activemq to create a very simple jms application.
But there is a point I have not understand.The administered connection factory object that I use is org.activemq.jndi.ActiveMQInitialContextFactory which is the ActiveMq specific object. Do I have to do the same with the destination object?I read that Destination is also an administered object so I have to use an object of the ActiveMq? Specifically in the jndi properties where I define the queue property the value must be:
1.an activeMq object
2.a java class that implements the javax.jsm.Queue interface
3.a physical name of another server?
and in the code where I look up the destination object
Destination destination = (Destination) jndiContext.lookup(queueProp);What exactly will be the queueProp? I would appreciate an example
Thanking you in advance.

I've read the documentation but I am afraid I miss some points.
First of all I use the following code from an example in the net where the <b> activemq.jar is >/b> used and the jndi.properties is not used at all and the following code is working:package jms;
import org.activemq.ActiveMQConnectionFactory;
import javax.jms.Connection;
import javax.jms.DeliveryMode;
import javax.jms.Destination;
import javax.jms.ExceptionListener;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.MessageProducer;
import javax.jms.Session;
import javax.jms.TextMessage;
* Hello world!
public class App {
    public static void main(String[] args) throws Exception {
        thread(new HelloWorldBroker(args), true);
        Thread.sleep(1000);
        thread(new HelloWorldProducer(), false);
        thread(new HelloWorldProducer(), false);
        thread(new HelloWorldConsumer(), false);
        Thread.sleep(1000);
        thread(new HelloWorldConsumer(), false);
               Thread.sleep(1000);
        thread(new HelloWorldConsumer(), false);
        thread(new HelloWorldProducer(), false);
                Thread.sleep(1000);
             thread(new HelloWorldProducer(), false);
        thread(new HelloWorldConsumer(), false);
    public static void thread(Runnable runnable, boolean daemon) {
        Thread brokerThread = new Thread(runnable);
        brokerThread.setDaemon(daemon);
        brokerThread.start();
    public static class HelloWorldBroker implements Runnable {
        private final String[] args;
        public HelloWorldBroker(String[] args) {
            this.args = args;
        public void run() {
            org.activemq.broker.impl.Main.main(args);
    public static class HelloWorldProducer implements Runnable {
        public void run() {
            try {
                // Create a ConnectionFactory
                ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
                // Create a Connection
                Connection connection = connectionFactory.createConnection();
                connection.start();
                // Create a Session
                Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
                // Create the destination (Topic or Queue)
                Destination destination = session.createQueue("TEST.FOO");
                // Create a MessageProducer from the Session to the Topic or Queue
                MessageProducer producer = session.createProducer(destination);
                producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
                // Create a messages
                String text = "Hello world! From: " + Thread.currentThread().getName() + " : " + this.hashCode();
                TextMessage message = session.createTextMessage(text);
                // Tell the producer to send the message
                System.out.println("Sent message: "+ message.hashCode() + " : " + Thread.currentThread().getName());
                producer.send(message);
                // Clean up
                session.close();
                connection.close();
            catch (Exception e) {
                System.out.println("Caught: " + e);
                e.printStackTrace();
    public static class HelloWorldConsumer implements Runnable, ExceptionListener {
        public void run() {
            try {
                // Create a ConnectionFactory
                ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
                // Create a Connection
                Connection connection = connectionFactory.createConnection();
                connection.start();
                connection.setExceptionListener(this);
                // Create a Session
                Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
                // Create the destination (Topic or Queue)
                Destination destination = session.createQueue("TEST.FOO");
                // Create a MessageConsumer from the Session to the Topic or Queue
                MessageConsumer consumer = session.createConsumer(destination);
                // Wait for a message
                Message message = consumer.receive(1000);
                if (message instanceof TextMessage) {
                    TextMessage textMessage = (TextMessage) message;
                    String text = textMessage.getText();
                    System.out.println("Received: " + text);
                } else {
                    System.out.println("Received: " + message);
                consumer.close();
                session.close();
                connection.close();
            } catch (Exception e) {
                System.out.println("Caught: " + e);
                e.printStackTrace();
        public synchronized void onException(JMSException ex) {
            System.out.println("JMS Exception occured.  Shutting down client.");
}But I want to make it work with jndi.properties.
So I am trying to use a code where connectionFactory and Destination are loaded from the jndi properties.After experimenting with code
the following is working
     try {
               connectionFactory = (ConnectionFactory) jndiContext.lookup("connectionFactory");               
              Destination destination = (Destination) jndiContext.lookup("QUEUE/MYQUEUE");        
          Connection connection = connectionFactory.createConnection();
          Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);if only I go to the activeqm/bin folder and open the broker.If I did that in the previous code(with no jndi prop)
there was an exception that was saying that the port was already used.So I do not understand why in the one case opening broker is necessary for the connection and on the other hand it causes a problem.
Moreover in the case that I invoke broker from bin folder. In this case I would like to ask a question.The activemq.xml is necessary? If yes it is there where we define the queue?
If not where else apart from the jndi.properties do we define queue?
Please if is possible provide me with an example of the necessary places that we define a queue.
Thank you

Similar Messages

  • Can JMS topics and queues be clustered in a WLS 7.0 Cluster?

    We are installing a weblogic 7.0 cluster with 1 admin server and 2 managed
              node servers. Two nodes have been clustered. We are at the point where we
              need to configure JMS. Has any one implemented JMS in WLS 7 clustered
              environment? What are the things to watch out when clustering JMS? Can JMS
              topics and queues be clustered?
              TIA for any helpful hints and comments.
              Regards
              

    "Karim Ali" <[email protected]> wrote:
              >> Has any one implemented JMS in WLS 7 clustered
              >> environment?
              I'm currently working on a project with WLS 7 here at work, involving
              the implementation of BEA's JMS Cluster. So far, I really haven't had
              many hiccups.
              "Karim Ali" <[email protected]> wrote:
              >> What are the things to watch out when clustering JMS?
              At least in WLS 7, the biggest thing that stands out is the lack of
              automatic failover. Also, Message Paging -- make sure you configure
              paging high/low thresholds. Or, if you don't wish for it to occur but
              can't stop the server (very common these days with SLAs), set that
              byte/message high threshold to a very large number (correct me if I'm
              wrong, but I believe BEA recommends 2^63 -1).
              "Karim Ali" <[email protected]> wrote:
              >> Can JMS topics and queues be clustered?
              Well, since Topics and Queues are extensions of the
              javax.jms.Destination interface, the answer is: Yes!
              (SIDE NOTE: most people usually refer to them as a [JMS] "destination"
              -- it avoids a lot of conceptual baggage and plus, less typing!)
              You'll probably want to see this section of BEA's e-docs:
              http://edocs.bea.com/wls/docs70/adminguide/jms.html#config_distributed_destinations
              later,
              Brian J. Mitchell
              BEA Systems Administrator
              TRX
              Atlanta, GA
              email: [email protected]
              office: 404-327-7238
              mobile: 678-283-6530
              

  • Configuring JMS factories and queues INSIDE application?

    When I package my EAR, it can contain an "orion-application.xml" file, a "data-sources.xml" file, and a "principals.xml" file. It appears that all of these are used when deploying the application, as they all end up (in some form) in the named subdirectory of "application-deployments".
    However, I also need to configure a JMS ConnectionFactory and two JMS Queues. I tried putting a "jms.xml" file into the EAR, but this appeared to have no effect on the deployment.
    When I shutdown the server and modified the file "$OC4J_HOME/j2ee/home/config/jms.xml" to specify my factory and queues, then my application started up, and was able to find the factory and queues.
    So, is there any way to package my JMS configuration as part of the EAR, so I don't have to specify any manual configuration information in order to deploy my EAR?

    Just so we're clear, I wasn't asking how I can specify JMS configuration inside the "orion-application" element, but how I can specify JMS configuration in my EAR. Along with the J2EE "application.xml" file, you can place an "orion-application.xml" file, a "data-sources.xml" file, and a "principals.xml" file. I was wondering whether I could also put a "jms.xml" file in the same directory in the EAR.
    Your first sentence is relatively clear on this, but when you supplied the link to the "orion-application.xml" dtd, I wondered whether we were talking about the same thing. The DTD for "orion-application" wouldn't (I assume) say anything about the other configuration files.

  • JNDI Names of JMS server's queue not replicating to cluster

              Am having some trouble configuring a JMS Server and Queues in a clustered development
              environment. It is a simple cluster of 2 servers (Server1 and Server2) both on
              a single machine.
              The "JobServer" JMS Server is targeted to "Server1 (migratable)". All the JNDI
              names for the Queues appear in the JNDI tree of Server1, but not in Server2.
              When the sending of a message is attempted on Server2, the following occurs:
              javax.naming.NameNotFoundException: While trying to lookup 'jms.STARSIIPostQueue'
              didn't find subcontext 'jms' Resolved ; remaining name 'jms/STARSIIPostQueue'
              at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:858)
              This may be a problem with the cluster configuration, but I haven't been able
              to see anything wrong with it.
              Any and all help will be appreciated.
              There is the Config.xml file:
              <?xml version="1.0" encoding="UTF-8"?>
              <Domain ConfigurationVersion="8.1.2.0" Name="mydomain">
              <Server ExtraEjbcOptions="-J-mx512m" ListenAddress=""
              ListenPort="7001" Name="myserver" NativeIOEnabled="true"
              ServerVersion="8.1.2.0" StdoutDebugEnabled="true" StdoutSeverityLevel="64">
              <SSL Enabled="false" HostnameVerificationIgnored="false"
              IdentityAndTrustLocations="KeyStores" ListenPort="7002" Name="myserver"/>
              <Log Name="myserver" NumberOfFilesLimited="true"/>
              </Server>
              <Security Name="mydomain"
              PasswordPolicy="wl_default_password_policy"
              Realm="wl_default_realm" RealmSetup="true">
              <weblogic.security.providers.authentication.DefaultAuthenticator
              Name="Security:Name=myrealmDefaultAuthenticator" Realm="Security:Name=myrealm"/>
              <weblogic.security.providers.authentication.DefaultIdentityAsserter
              ActiveTypes="AuthenticatedUser"
              Name="Security:Name=myrealmDefaultIdentityAsserter" Realm="Security:Name=myrealm"/>
              <weblogic.security.providers.authorization.DefaultRoleMapper
              Name="Security:Name=myrealmDefaultRoleMapper" Realm="Security:Name=myrealm"/>
              <weblogic.security.providers.authorization.DefaultAuthorizer
              Name="Security:Name=myrealmDefaultAuthorizer" Realm="Security:Name=myrealm"/>
              <weblogic.security.providers.authorization.DefaultAdjudicator
              Name="Security:Name=myrealmDefaultAdjudicator"
              Realm="Security:Name=myrealm" RequireUnanimousPermit="false"/>
              <weblogic.security.providers.credentials.DefaultCredentialMapper
              Name="Security:Name=myrealmDefaultCredentialMapper" Realm="Security:Name=myrealm"/>
              <weblogic.management.security.authentication.UserLockoutManager
              Name="Security:Name=myrealmUserLockoutManager" Realm="Security:Name=myrealm"/>
              <weblogic.management.security.Realm
              Adjudicator="Security:Name=myrealmDefaultAdjudicator"
              Auditors="Security:Name=myrealmSTARSIIAuditor"
              AuthenticationProviders="Security:Name=myrealmSTARSIIAuthenticator|Security:Name=myrealmDefaultAuthenticator|Security:Name=myrealmDefaultIdentityAsserter"
              Authorizers="Security:Name=myrealmDefaultAuthorizer|Security:Name=myrealmSTARSIIAuthorizer"
              CredentialMappers="Security:Name=myrealmDefaultCredentialMapper"
              DefaultRealm="true" DisplayName="myrealm"
              FullyDelegateAuthorization="true"
              Name="Security:Name=myrealm"
              RoleMappers="Security:Name=myrealmDefaultRoleMapper" UserLockoutManager="Security:Name=myrealmUserLockoutManager"/>
              <gov.fns.starsii.common.security.authentication.STARSIIAuthenticator
              ControlFlag="SUFFICIENT"
              Name="Security:Name=myrealmSTARSIIAuthenticator" Realm="Security:Name=myrealm"/>
              <gov.fns.starsii.common.security.authorization.STARSIIAuthorizer
              ExemptUri="/common/,/images/,/warning.do,/login.do"
              Name="Security:Name=myrealmSTARSIIAuthorizer"
              PolicyDeploymentEnabled="false"
              Realm="Security:Name=myrealm" Verbose="false" denyPermNotFound="true"/>
              <gov.fns.starsii.common.security.audit.STARSIIAuditor
              Name="Security:Name=myrealmSTARSIIAuditor" Realm="Security:Name=myrealm"/>
              </Security>
              <EmbeddedLDAP
              Credential="{3DES}aD+gV9rRggnoShH/kWurILaHTBP/z0jVoZHtp/hU1xI=" Name="mydomain"/>
              <SecurityConfiguration
              Credential="{3DES}mhxP4PeuUHmoX6Aggpj5SNB+AX16Gaol8dOfUzXu7xM8CFNASyNdYIOoqtlqPAZvfZgB14KBtY8MkdKGu/iWFq1xQ07walY8"
              Name="mydomain" RealmBootStrapVersion="1"/>
              <Realm FileRealm="wl_default_file_realm" Name="wl_default_realm"/>
              <FileRealm Name="wl_default_file_realm"/>
              <PasswordPolicy Name="wl_default_password_policy"/>
              <JDBCConnectionPool
              DriverName="weblogic.jdbc.sqlserver.SQLServerDriver"
              Name="STARSII BRSB Pool"
              Password="{3DES}9pslRpr051lR9/NEKdanag=="
              Properties="user=brsbapp;portNumber=1433;databaseName=brsbdev;serverName=str2-dev-db"
              Targets="" TestTableName="SQL SELECT COUNT(*) FROM sysobjects" URL="jdbc:bea:sqlserver://str2-dev-db:1433"/>
              <JDBCTxDataSource JNDIName="jdbc/StarsIIDS" Name="StarsIIDS"
              PoolName="STARSII Store Pool" Targets="MyCluster"/>
              <JDBCTxDataSource JNDIName="jdbc/TXStarsIIDS" Name="TXStarsIIDS"
              PoolName="STARSII Store Pool" Targets="MyCluster"/>
              <!--StartupClass
              ClassName="gov.fns.starsii.common.common.PropertiesFileLoader"
              DeploymentOrder="250" Name="STARS II Properties Startup Class" Targets="myserver,MyCluster"/>
              <StartupClass
              ClassName="gov.fns.starsii.common.common.ReferenceValuesHelper"
              DeploymentOrder="500"
              Name="STARS II Reference Values Startup Class" Targets="myserver,MyCluster"/>
              <StartupClass
              ClassName="gov.fns.starsii.common.common.ReportCriteriaHelper"
              DeploymentOrder="750"
              Name="STARS II Reports Criteria Startup Class" Targets="myserver,MyCluster"/
              -->
              <MailSession JNDIName="mail/STARSIIMailSession"
              Name="STARSIIMailSession" Properties="mail.host=str2-dev-prj" Targets="myserver"/>
              <JDBCConnectionPool
              DriverName="weblogic.jdbc.sqlserver.SQLServerDriver"
              Name="STARSII Store Pool"
              Password="{3DES}nKggeFT8wZkm0R9H8mXaEQ=="
              Properties="user=storeapp;portNumber=1433;databaseName=storedev;serverName=str2-dev-db"
              Targets="MyCluster"
              TestTableName="SQL SELECT COUNT(*) FROM sysobjects" URL="jdbc:bea:sqlserver://str2-dev-db:1433"/>
              <JDBCConnectionPool
              DriverName="weblogic.jdbc.sqlserver.SQLServerDriver"
              Name="AffTest" Password=""
              Properties="user=sa;portNumber=1433;databaseName=affTest;serverName=AFRANK\AFRANK"
              Targets="" TestTableName="SQL SELECT COUNT(*) FROM sysobjects" URL="jdbc:bea:sqlserver://AFRANK\AFRANK:1433"/>
              <JDBCTxDataSource JNDIName="jdbc/AffTest" Name="AffTest"
              PoolName="AffTest" Targets=""/>
              <JDBCConnectionPool DriverName="weblogic.jdbcspy.SpyDriver"
              Name="Spy STARSII BRSB Pool"
              Password="{3DES}9pslRpr051lR9/NEKdanag=="
              Properties="user=brsbapp;portNumber=1433;databaseName=brsbdev;serverName=str2-dev-db"
              Targets="" TestTableName="SQL SELECT COUNT(*) FROM sysobjects" URL="jdbc:spy:{jdbc:bea:sqlserver://str2-dev-db:1433};log=(file)C:\cvsrepo\sql.log"/>
              <JDBCConnectionPool
              DriverName="weblogic.jdbc.sqlserver.SQLServerDriver"
              Name="STARSII Store Pool 2"
              Password="{3DES}nKggeFT8wZkm0R9H8mXaEQ=="
              Properties="user=storeapp;portNumber=1433;databaseName=storedev;serverName=str2-dev-db"
              Targets="" TestTableName="SQL SELECT COUNT(*) FROM sysobjects" URL="jdbc:bea:sqlserver://str2-dev-db:1433"/>
              <JDBCTxDataSource JNDIName="jdbc/StarsIIDS2" Name="StarsIIDS2"
              PoolName="STARSII Store Pool" Targets=""/>
              <JDBCConnectionPool
              DriverName="weblogic.jdbc.sqlserver.SQLServerDriver"
              Name="STARSII Stars Pool"
              Password="{3DES}tjstL+8fUvdPQzqhNcCYGA=="
              Properties="user=starsapp;portNumber=1433;databaseName=stars;serverName=str2-dev-db"
              Targets="MyCluster"
              TestTableName="SQL SELECT COUNT(*) FROM sysobjects" URL="jdbc:bea:sqlserver://str2-dev-db:1433"/>
              <Machine Name="MachineA">
              <NodeManager DebugEnabled="true" ListenPort="5555" Name="MachineA"/>
              </Machine>
              <Server Cluster="MyCluster" ExpectedToRun="false"
              ExtraEjbcOptions="-J-mx521m" JDBCLoggingEnabled="true"
              ListenAddress="10.0.0.14" ListenPort="7002" Machine="MachineA"
              Name="Server1" ServerVersion="8.1.2.0" StdoutDebugEnabled="true" StdoutSeverityLevel="64">
              <ServerDebug Name="Server1"/>
              <SSL IdentityAndTrustLocations="KeyStores" Name="Server1"/>
              <KernelDebug Name="Server1"/>
              <Log Name="Server1"/>
              <ServerStart Name="Server1"
              OutputFile="C:\bea\user_projects\domains\mydomain\.\NodeManagerClientLogs\mydomain_Server1\startServer_05_05_2004-12_50_56-4.log"
              Password="{3DES}js4NnTcuqRE15gEGfNTu4Q==" Username="system"/>
              <WebServer Name="Server1"/>
              <COM Name="Server1"/>
              <IIOP Name="Server1"/>
              <JTAMigratableTarget Name="Server1" UserPreferredServer="Server1"/>
              <JTARecoveryService Name="Server1"/>
              </Server>
              <Cluster ClusterAddress="10.0.0.14, 10.0.2.15"
              MulticastAddress="226.0.0.244" Name="MyCluster"/>
              <Server Cluster="MyCluster" ExpectedToRun="false"
              ExtraEjbcOptions="-J-mx521m" ListenAddress="10.0.2.15"
              ListenPort="7002" Machine="MachineB" Name="Server2"
              ServerVersion="8.1.2.0" StdoutDebugEnabled="true" StdoutSeverityLevel="64">
              <ServerDebug Name="Server2"/>
              <SSL IdentityAndTrustLocations="KeyStores" Name="Server2"/>
              <KernelDebug Name="Server2"/>
              <Log Name="Server2"/>
              <ServerStart Name="Server2"
              Password="{3DES}js4NnTcuqRE15gEGfNTu4Q==" Username="system"/>
              <WebServer Name="Server2"/>
              <COM Name="Server2"/>
              <IIOP Name="Server2"/>
              <JTAMigratableTarget Name="Server2" UserPreferredServer="Server2"/>
              <JTARecoveryService Name="Server2"/>
              </Server>
              <MigratableTarget Cluster="MyCluster" Name="Server1 (migratable)"
              Notes="This is a system generated default migratable target for a server.
              Do not delete manually." UserPreferredServer="Server1"/>
              <MigratableTarget Cluster="MyCluster" Name="Server2 (migratable)"
              Notes="This is a system generated default migratable target for a server.
              Do not delete manually." UserPreferredServer="Server2"/>
              <Application Deployed="true" Name="STARSII"
              Path="C:\cvsrepo\STARSII\STARSII" StagingMode="nostage" TwoPhase="true">
              <EJBComponent Name="../brsbMessage" Targets="MyCluster" URI="../brsbMessage"/>
              <EJBComponent Name="../brsbSession" Targets="MyCluster" URI="../brsbSession"/>
              <EJBComponent Name="../commonSession" Targets="MyCluster" URI="../commonSession"/>
              <EJBComponent Name="../complianceMessage" Targets="MyCluster" URI="../complianceMessage"/>
              <EJBComponent Name="../complianceSession" Targets="MyCluster" URI="../complianceSession"/>
              <EJBComponent Name="../starsiiEntity" Targets="MyCluster" URI="../starsiiEntity"/>
              <EJBComponent Name="../storeSession" Targets="MyCluster" URI="../storeSession"/>
              <WebAppComponent Name="/brsb" Targets="MyCluster" URI="../brsbWebApp"/>
              <WebAppComponent Name="/compliance" Targets="MyCluster" URI="../complianceWebApp"/>
              <WebAppComponent Name="/common" Targets="MyCluster" URI="../mainWebApp"/>
              <WebAppComponent Name="/store" Targets="MyCluster" URI="../storeWebApp"/>
              </Application>
              <Application Name="AffWebApp" Path="C:\cvsrepo\STARSII"
              StagingMode="nostage" TwoPhase="true">
              <WebAppComponent Name="AffWebApp" Targets="" URI="AffWebApp"/>
              </Application>
              <Application Name="activeportal"
              Path="C:\bea\user_projects\domains\mydomain\myserver\upload"
              StagingMode="nostage" TwoPhase="true">
              <WebAppComponent Name="activeportal" Targets="" URI="activeportal.war"/>
              </Application>
              <JTA Name="mydomain" TimeoutSeconds="300"/>
              <JMSServer Name="JobServer" Targets="Server1 (migratable)">
              <JMSQueue CreationTime="1072820642598"
              JNDIName="jms/STARSIIJobQueue" Name="STARSIIJobQueue"/>
              <JMSQueue CreationTime="1072820669345"
              JNDIName="jms/STARSIIPostQueue" Name="STARSIIPostQueue"/>
              <JMSQueue CreationTime="1088000795852"
              JNDIName="jms/STARSIIValidationQueue" Name="STARSIIValidationQueue"/>
              <JMSQueue CreationTime="1072820687125"
              JNDIName="jms/STARSIIErrorQueue" Name="STARSIIErrorQueue"/>
              <JMSQueue CreationTime="1072820687125"
              JNDIName="jms/STARSIIEmailQueue" Name="STARSIIEmailQueue"/>
              <JMSQueue CreationTime="1072820687225"
              JNDIName="jms/STARSIIEBTStateQueue" Name="STARSIIEBTStateQueue"/>
              <JMSQueue CreationTime="1072820687325"
              JNDIName="jms/STARSIIRFIQueue" Name="STARSIIRFIQueue"/>
              <JMSQueue CreationTime="1072820687425"
              JNDIName="jms/STARSIIRedeQueue" Name="STARSIIRedeQueue"/>
              <JMSQueue CreationTime="1072820687525"
              JNDIName="jms/STARSIIWatchListQueue" Name="STARIIWatchListQueue"/>
              <JMSQueue CreationTime="1072820687625"
              JNDIName="jms/STARSIIDeleteTransFileQueue" Name="STARSIIDeleteTransFileQueue"/>
              <JMSQueue CreationTime="1072820687725"
              JNDIName="jms/STARSIIUpdateAMRQueue" Name="STARSIIUpdateAMRQueue"/>
              <JMSQueue CreationTime="1072820687825"
              JNDIName="jms/STARSIIVPPExtractQueue" Name="STARSIIVPPExtractQueue"/>
              <JMSQueue CreationTime="1072820687925"
              JNDIName="jms/STARSIISIFSUploadQueue" Name="STARSIISIFSUploadQueue"/>
              <JMSQueue CreationTime="1072820688025"
              JNDIName="jms/STARSIIMARSQueue" Name="STARSIIMARSQueue"/>
              <JMSQueue CreationTime="1072820688125"
              JNDIName="jms/STARSIIFRBRichmondExtractQueue" Name="STARSIIFRBRichmondExtractQueue"/>
              <JMSQueue CreationTime="1072820688225"
              JNDIName="jms/STARSIICOTSExtractQueue" Name="STARSIICOTSExtractQueue"/>
              <JMSQueue CreationTime="1072820688325"
              JNDIName="jms/STARSIIVPPUploadQueue" Name="STARSIIVPPUploadQueue"/>
              </JMSServer>
              <Machine Name="MachineB">
              <NodeManager DebugEnabled="true" Name="MachineB"/>
              </Machine>
              </Domain>
              

    Internally, many BEA developers and testers use various versions
              of XP with clustering on a daily basis. I don't know what
              is unique about your machine. I suggest raising the issue
              with customer support and/or posting to the clustering newsgroup...
              Andy Frank wrote:
              > It would seems that my OS and the MultiCast config are to blame. The MultiCast
              > test utility worked fine the Win2K machines I tried. Think I will take another
              > look at MS KB article 827536 and/or think about another dev OS.
              >
              > "Andy Frank" <[email protected]> wrote:
              >
              >>Tom,
              >>Thanks for this info.
              >>
              >>My servers don't look like they are running in different subnets (had
              >>a friend
              >>look this over and he concurs).
              >>
              >>My network admin says he hasn't blocked multicast traffic.
              >>
              >>I think the MultiCast test utility is telling me that I have some kind
              >>of multicast
              >>config problem. Output follows:
              >>
              >>------ Begin MultiCast test utility output: ------
              >>C:\bea\weblogic81\server\bin>java utils.MulticastTest -N server200 -A
              >>237.155.15
              >>5.1 -t 15
              >>***** WARNING ***** WARNING ***** WARNING *****
              >>Do NOT use the same multicast address as a running WLS cluster.
              >>
              >>
              >>Starting test. Hit any key to abort
              >>
              >>
              >>Using multicast address 237.155.155.1:7001
              >>Will send messages under the name server200 every 2 seconds
              >>Will print warning every 15 seconds if no messages are received
              >>
              >> I (server200) sent message num 1
              >> I (server200) sent message num 2
              >> I (server200) sent message num 3
              >> I (server200) sent message num 4
              >> I (server200) sent message num 5
              >> I (server200) sent message num 6
              >> I (server200) sent message num 7
              >>java.net.SocketTimeoutException: Receive timed out
              >> at java.net.PlainDatagramSocketImpl.receive(Native Method)
              >> at java.net.DatagramSocket.receive(DatagramSocket.java:680)
              >> at utils.MulticastTest$Receiver.run(MulticastTest.java:304)
              >> I (server200) sent message num 8
              >> I (server200) sent message num 9
              >> I (server200) sent message num 10
              >> I (server200) sent message num 11
              >> I (server200) sent message num 12
              >>------ End MultiCast test utility output: ------
              >>
              >>No "Received message X from server200" messages. I think I need to look
              >>into
              >>configuring multicast communications on my OK (Windows XP Pro, ver 2002
              >>SP1).
              >>I did see MS KB article 827536 about "An IP multicast may not be sent
              >>correctly
              >
              >>from Windows XP or from Windows Server 2003" (I do have 2 network adapters),
              >
              >>but
              >>the resolution scared me some.
              >>
              >>Think I will try some things out on another OS and see what that gets
              >>me.
              >>
              >>Any other thoughts on this will be appreciated.
              >>
              >>
              >>Tom Barnes wrote:
              >>
              >>>I too suspect something is going wrong with clustering, I wonder
              >>>if the servers are running in different subnets (even though
              >>>they are on the same box) and/or your network admin has
              >>>blocked multicast traffic.
              >>>
              >>>The MultiCast test utility should help narrow things down:
              >>>
              >>>http://e-docs.bea.com/wls/docs81/admin_ref/utils.html#1199798
              >>>
              >>>Tom
              >>>
              >>>Andy Frank wrote:
              >>>
              >>>
              >>>>Am having some trouble configuring a JMS Server and Queues in a clustered
              >>>
              >>>development
              >>>
              >>>>environment. It is a simple cluster of 2 servers (Server1 and Server2)
              >>>
              >>>both on
              >>>
              >>>>a single machine.
              >>>>
              >>>>The "JobServer" JMS Server is targeted to "Server1 (migratable)".
              >>
              >>>All the JNDI
              >>>
              >>>>names for the Queues appear in the JNDI tree of Server1, but not in
              >>>
              >>>Server2.
              >>>
              >>>>When the sending of a message is attempted on Server2, the following
              >>>
              >>>occurs:
              >>>
              >>>>javax.naming.NameNotFoundException: While trying to lookup 'jms.STARSIIPostQueue'
              >>>>didn't find subcontext 'jms' Resolved ; remaining name 'jms/STARSIIPostQueue'
              >>>> at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:858)
              >>>>
              >>>>This may be a problem with the cluster configuration, but I haven't
              >>>
              >>>been able
              >>>
              >>>>to see anything wrong with it.
              >>>>
              >>>>Any and all help will be appreciated.
              >>>>
              >>>>There is the Config.xml file:
              >>>><?xml version="1.0" encoding="UTF-8"?>
              >>>><Domain ConfigurationVersion="8.1.2.0" Name="mydomain">
              >>>> <Server ExtraEjbcOptions="-J-mx512m" ListenAddress=""
              >>>> ListenPort="7001" Name="myserver" NativeIOEnabled="true"
              >>>> ServerVersion="8.1.2.0" StdoutDebugEnabled="true" StdoutSeverityLevel="64">
              >>>> <SSL Enabled="false" HostnameVerificationIgnored="false"
              >>>> IdentityAndTrustLocations="KeyStores" ListenPort="7002"
              >>>
              >>>Name="myserver"/>
              >>>
              >>>> <Log Name="myserver" NumberOfFilesLimited="true"/>
              >>>> </Server>
              >>>> <Security Name="mydomain"
              >>>> PasswordPolicy="wl_default_password_policy"
              >>>> Realm="wl_default_realm" RealmSetup="true">
              >>>> <weblogic.security.providers.authentication.DefaultAuthenticator
              >>>> Name="Security:Name=myrealmDefaultAuthenticator" Realm="Security:Name=myrealm"/>
              >>>>
              >>>> <weblogic.security.providers.authentication.DefaultIdentityAsserter
              >>>> ActiveTypes="AuthenticatedUser"
              >>>> Name="Security:Name=myrealmDefaultIdentityAsserter" Realm="Security:Name=myrealm"/>
              >>>> <weblogic.security.providers.authorization.DefaultRoleMapper
              >>>> Name="Security:Name=myrealmDefaultRoleMapper" Realm="Security:Name=myrealm"/>
              >>>> <weblogic.security.providers.authorization.DefaultAuthorizer
              >>>> Name="Security:Name=myrealmDefaultAuthorizer" Realm="Security:Name=myrealm"/>
              >>>> <weblogic.security.providers.authorization.DefaultAdjudicator
              >>>> Name="Security:Name=myrealmDefaultAdjudicator"
              >>>> Realm="Security:Name=myrealm" RequireUnanimousPermit="false"/>
              >>>> <weblogic.security.providers.credentials.DefaultCredentialMapper
              >>>> Name="Security:Name=myrealmDefaultCredentialMapper" Realm="Security:Name=myrealm"/>
              >>>> <weblogic.management.security.authentication.UserLockoutManager
              >>>> Name="Security:Name=myrealmUserLockoutManager" Realm="Security:Name=myrealm"/>
              >>>> <weblogic.management.security.Realm
              >>>> Adjudicator="Security:Name=myrealmDefaultAdjudicator"
              >>>> Auditors="Security:Name=myrealmSTARSIIAuditor"
              >>>> AuthenticationProviders="Security:Name=myrealmSTARSIIAuthenticator|Security:Name=myrealmDefaultAuthenticator|Security:Name=myrealmDefaultIdentityAsserter"
              >>>> Authorizers="Security:Name=myrealmDefaultAuthorizer|Security:Name=myrealmSTARSIIAuthorizer"
              >>>> CredentialMappers="Security:Name=myrealmDefaultCredentialMapper"
              >>>> DefaultRealm="true" DisplayName="myrealm"
              >>>> FullyDelegateAuthorization="true"
              >>>> Name="Security:Name=myrealm"
              >>>> RoleMappers="Security:Name=myrealmDefaultRoleMapper" UserLockoutManager="Security:Name=myrealmUserLockoutManager"/>
              >>>>
              >>>> <gov.fns.starsii.common.security.authentication.STARSIIAuthenticator
              >>>> ControlFlag="SUFFICIENT"
              >>>> Name="Security:Name=myrealmSTARSIIAuthenticator" Realm="Security:Name=myrealm"/>
              >>>> <gov.fns.starsii.common.security.authorization.STARSIIAuthorizer
              >>>> ExemptUri="/common/,/images/,/warning.do,/login.do"
              >>>> Name="Security:Name=myrealmSTARSIIAuthorizer"
              >>>> PolicyDeploymentEnabled="false"
              >>>> Realm="Security:Name=myrealm" Verbose="false" denyPermNotFound="true"/>
              >>>> <gov.fns.starsii.common.security.audit.STARSIIAuditor
              >>>> Name="Security:Name=myrealmSTARSIIAuditor" Realm="Security:Name=myrealm"/>
              >>>> </Security>
              >>>> <EmbeddedLDAP
              >>>> Credential="{3DES}aD+gV9rRggnoShH/kWurILaHTBP/z0jVoZHtp/hU1xI="
              >>>
              >>>Name="mydomain"/>
              >>>
              >>>> <SecurityConfiguration
              >>>> Credential="{3DES}mhxP4PeuUHmoX6Aggpj5SNB+AX16Gaol8dOfUzXu7xM8CFNASyNdYIOoqtlqPAZvfZgB14KBtY8MkdKGu/iWFq1xQ07walY8"
              >>>> Name="mydomain" RealmBootStrapVersion="1"/>
              >>>> <Realm FileRealm="wl_default_file_realm" Name="wl_default_realm"/>
              >>>> <FileRealm Name="wl_default_file_realm"/>
              >>>> <PasswordPolicy Name="wl_default_password_policy"/>
              >>>> <JDBCConnectionPool
              >>>> DriverName="weblogic.jdbc.sqlserver.SQLServerDriver"
              >>>> Name="STARSII BRSB Pool"
              >>>> Password="{3DES}9pslRpr051lR9/NEKdanag=="
              >>>> Properties="user=brsbapp;portNumber=1433;databaseName=brsbdev;serverName=str2-dev-db"
              >>>> Targets="" TestTableName="SQL SELECT COUNT(*) FROM sysobjects"
              >>>
              >>>URL="jdbc:bea:sqlserver://str2-dev-db:1433"/>
              >>>
              >>>> <JDBCTxDataSource JNDIName="jdbc/StarsIIDS" Name="StarsIIDS"
              >>>> PoolName="STARSII Store Pool" Targets="MyCluster"/>
              >>>> <JDBCTxDataSource JNDIName="jdbc/TXStarsIIDS" Name="TXStarsIIDS"
              >>>> PoolName="STARSII Store Pool" Targets="MyCluster"/>
              >>>> <!--StartupClass
              >>>> ClassName="gov.fns.starsii.common.common.PropertiesFileLoader"
              >>>> DeploymentOrder="250" Name="STARS II Properties Startup Class"
              >>>
              >>>Targets="myserver,MyCluster"/>
              >>>
              >>>> <StartupClass
              >>>> ClassName="gov.fns.starsii.common.common.ReferenceValuesHelper"
              >>>> DeploymentOrder="500"
              >>>> Name="STARS II Reference Values Startup Class" Targets="myserver,MyCluster"/>
              >>>> <StartupClass
              >>>> ClassName="gov.fns.starsii.common.common.ReportCriteriaHelper"
              >>>> DeploymentOrder="750"
              >>>> Name="STARS II Reports Criteria Startup Class" Targets="myserver,MyCluster"/
              >>>>-->
              >>>> <MailSession JNDIName="mail/STARSIIMailSession"
              >>>> Name="STARSIIMailSession" Properties="mail.host=str2-dev-prj"
              >>>
              >>>Targets="myserver"/>
              >>>
              >>>> <JDBCConnectionPool
              >>>> DriverName="weblogic.jdbc.sqlserver.SQLServerDriver"
              >>>> Name="STARSII Store Pool"
              >>>> Password="{3DES}nKggeFT8wZkm0R9H8mXaEQ=="
              >>>> Properties="user=storeapp;portNumber=1433;databaseName=storedev;serverName=str2-dev-db"
              >>>> Targets="MyCluster"
              >>>> TestTableName="SQL SELECT COUNT(*) FROM sysobjects" URL="jdbc:bea:sqlserver://str2-dev-db:1433"/>
              >>>> <JDBCConnectionPool
              >>>> DriverName="weblogic.jdbc.sqlserver.SQLServerDriver"
              >>>> Name="AffTest" Password=""
              >>>> Properties="user=sa;portNumber=1433;databaseName=affTest;serverName=AFRANK\AFRANK"
              >>>> Targets="" TestTableName="SQL SELECT COUNT(*) FROM sysobjects"
              >>>
              >>>URL="jdbc:bea:sqlserver://AFRANK\AFRANK:1433"/>
              >>>
              >>>> <JDBCTxDataSource JNDIName="jdbc/AffTest" Name="AffTest"
              >>>> PoolName="AffTest" Targets=""/>
              >>>> <JDBCConnectionPool DriverName="weblogic.jdbcspy.SpyDriver"
              >>>> Name="Spy STARSII BRSB Pool"
              >>>> Password="{3DES}9pslRpr051lR9/NEKdanag=="
              >>>> Properties="user=brsbapp;portNumber=1433;databaseName=brsbdev;serverName=str2-dev-db"
              >>>> Targets="" TestTableName="SQL SELECT COUNT(*) FROM sysobjects"
              >>>
              >>>URL="jdbc:spy:{jdbc:bea:sqlserver://str2-dev-db:1433};log=(file)C:\cvsrepo\sql.log"/>
              >>>
              >>>> <JDBCConnectionPool
              >>>> DriverName="weblogic.jdbc.sqlserver.SQLServerDriver"
              >>>> Name="STARSII Store Pool 2"
              >>>> Password="{3DES}nKggeFT8wZkm0R9H8mXaEQ=="
              >>>> Properties="user=storeapp;portNumber=1433;databaseName=storedev;serverName=str2-dev-db"
              >>>> Targets="" TestTableName="SQL SELECT COUNT(*) FROM sysobjects"
              >>>
              >>>URL="jdbc:bea:sqlserver://str2-dev-db:1433"/>
              >>>
              >>>> <JDBCTxDataSource JNDIName="jdbc/StarsIIDS2" Name="StarsIIDS2"
              >>>> PoolName="STARSII Store Pool" Targets=""/>
              >>>> <JDBCConnectionPool
              >>>> DriverName="weblogic.jdbc.sqlserver.SQLServerDriver"
              >>>> Name="STARSII Stars Pool"
              >>>> Password="{3DES}tjstL+8fUvdPQzqhNcCYGA=="
              >>>> Properties="user=starsapp;portNumber=1433;databaseName=stars;serverName=str2-dev-db"
              >>>> Targets="MyCluster"
              >>>> TestTableName="SQL SELECT COUNT(*) FROM sysobjects" URL="jdbc:bea:sqlserver://str2-dev-db:1433"/>
              >>>> <Machine Name="MachineA">
              >>>> <NodeManager DebugEnabled="true" ListenPort="5555" Name="MachineA"/>
              >>>> </Machine>
              >>>> <Server Cluster="MyCluster" ExpectedToRun="false"
              >>>> ExtraEjbcOptions="-J-mx521m" JDBCLoggingEnabled="true"
              >>>> ListenAddress="10.0.0.14" ListenPort="7002" Machine="MachineA"
              >>>> Name="Server1" ServerVersion="8.1.2.0" StdoutDebugEnabled="true"
              >>>
              >>>StdoutSeverityLevel="64">
              >>>
              >>>> <ServerDebug Name="Server1"/>
              >>>> <SSL IdentityAndTrustLocations="KeyStores" Name="Server1"/>
              >>>> <KernelDebug Name="Server1"/>
              >>>> <Log Name="Server1"/>
              >>>> <ServerStart Name="Server1"
              >>>> OutputFile="C:\bea\user_projects\domains\mydomain\.\NodeManagerClientLogs\mydomain_Server1\startServer_05_05_2004-12_50_56-4.log"
              >>>> Password="{3DES}js4NnTcuqRE15gEGfNTu4Q==" Username="system"/>
              >>>> <WebServer Name="Server1"/>
              >>>> <COM Name="Server1"/>
              >>>> <IIOP Name="Server1"/>
              >>>> <JTAMigratableTarget Name="Server1" UserPreferredServer="Server1"/>
              >>>> <JTARecoveryService Name="Server1"/>
              >>>> </Server>
              >>>> <Cluster ClusterAddress="10.0.0.14, 10.0.2.15"
              >>>> MulticastAddress="226.0.0.244" Name="MyCluster"/>
              >>>> <Server Cluster="MyCluster" ExpectedToRun="false"
              >>>> ExtraEjbcOptions="-J-mx521m" ListenAddress="10.0.2.15"
              >>>> ListenPort="7002" Machine="MachineB" Name="Server2"
              >>>> ServerVersion="8.1.2.0" StdoutDebugEnabled="true" StdoutSeverityLevel="64">
              >>>> <ServerDebug Name="Server2"/>
              >>>> <SSL IdentityAndTrustLocations="KeyStores" Name="Server2"/>
              >>>> <KernelDebug Name="Server2"/>
              >>>> <Log Name="Server2"/>
              >>>> <ServerStart Name="Server2"
              >>>> Password="{3DES}js4NnTcuqRE15gEGfNTu4Q==" Username="system"/>
              >>>> <WebServer Name="Server2"/>
              >>>> <COM Name="Server2"/>
              >>>> <IIOP Name="Server2"/>
              >>>> <JTAMigratableTarget Name="Server2" UserPreferredServer="Server2"/>
              >>>> <JTARecoveryService Name="Server2"/>
              >>>> </Server>
              >>>> <MigratableTarget Cluster="MyCluster" Name="Server1 (migratable)"
              >>>> Notes="This is a system generated default migratable target
              >>>
              >>>for a server.
              >>>
              >>>>Do not delete manually." UserPreferredServer="Server1"/>
              >>>> <MigratableTarget Cluster="MyCluster" Name="Server2 (migratable)"
              >>>> Notes="This is a system generated default migratable target
              >>>
              >>>for a server.
              >>>
              >>>>Do not delete manually." UserPreferredServer="Server2"/>
              >>>> <Application Deployed="true" Name="STARSII"
              >>>> Path="C:\cvsrepo\STARSII\STARSII" StagingMode="nostage" TwoPhase="true">
              >>>> <EJBComponent Name="../brsbMessage" Targets="MyCluster" URI="../brsbMessage"/>
              >>>> <EJBComponent Name="../brsbSession" Targets="MyCluster" URI="../brsbSession"/>
              >>>> <EJBComponent Name="../commonSession" Targets="MyCluster"
              >>
              >>URI="../commonSession"/>
              >>
              >>>> <EJBComponent Name="../complianceMessage" Targets="MyCluster"
              >>>
              >>>URI="../complianceMessage"/>
              >>>
              >>>> <EJBComponent Name="../complianceSession" Targets="MyCluster"
              >>>
              >>>URI="../complianceSession"/>
              >>>
              >>>> <EJBComponent Name="../starsiiEntity" Targets="MyCluster"
              >>
              >>URI="../starsiiEntity"/>
              >>
              >>>> <EJBComponent Name="../storeSession" Targets="MyCluster" URI="../storeSession"/>
              >>>> <WebAppComponent Name="/brsb" Targets="MyCluster" URI="../brsbWebApp"/>
              >>>> <WebAppComponent Name="/compliance" Targets="MyCluster" URI="../complianceWebApp"/>
              >>>> <WebAppComponent Name="/common" Targets="MyCluster" URI="../mainWebApp"/>
              >>>> <WebAppComponent Name="/store" Targets="MyCluster" URI="../storeWebApp"/>
              >>>> </Application>
              >>>> <Application Name="AffWebApp" Path="C:\cvsrepo\STARSII"
              >>>> StagingMode="nostage" TwoPhase="true">
              >>>> <WebAppComponent Name="AffWebApp" Targets="" URI="AffWebApp"/>
              >>>> </Application>
              >>>> <Application Name="activeportal"
              >>>> Path="C:\bea\user_projects\domains\mydomain\myserver\upload"
              >>>> StagingMode="nostage" TwoPhase="true">
              >>>> <WebAppComponent Name="activeportal" Targets="" URI="activeportal.war"/>
              >>>> </Application>
              >>>> <JTA Name="mydomain" TimeoutSeconds="300"/>
              >>>> <JMSServer Name="JobServer" Targets="Server1 (migratable)">
              >>>> <JMSQueue CreationTime="1072820642598"
              >>>> JNDIName="jms/STARSIIJobQueue" Name="STARSIIJobQueue"/>
              >>>> <JMSQueue CreationTime="1072820669345"
              >>>> JNDIName="jms/STARSIIPostQueue" Name="STARSIIPostQueue"/>
              >>>> <JMSQueue CreationTime="1088000795852"
              >>>> JNDIName="jms/STARSIIValidationQueue" Name="STARSIIValidationQueue"/>
              >>>> <JMSQueue CreationTime="1072820687125"
              >>>> JNDIName="jms/STARSIIErrorQueue" Name="STARSIIErrorQueue"/>
              >>>> <JMSQueue CreationTime="1072820687125"
              >>>> JNDIName="jms/STARSIIEmailQueue" Name="STARSIIEmailQueue"/>
              >>>> <JMSQueue CreationTime="1072820687225"
              >>>> JNDIName="jms/STARSIIEBTStateQueue" Name="STARSIIEBTStateQueue"/>
              >>>> <JMSQueue CreationTime="1072820687325"
              >>>> JNDIName="jms/STARSIIRFIQueue" Name="STARSIIRFIQueue"/>
              >>>> <JMSQueue CreationTime="1072820687425"
              >>>> JNDIName="jms/STARSIIRedeQueue" Name="STARSIIRedeQueue"/>
              >>>> <JMSQueue CreationTime="1072820687525"
              >>>> JNDIName="jms/STARSIIWatchListQueue" Name="STARIIWatchListQueue"/>
              >>>> <JMSQueue CreationTime="1072820687625"
              >>>> JNDIName="jms/STARSIIDeleteTransFileQueue" Name="STARSIIDeleteTransFileQueue"/>
              >>>> <JMSQueue CreationTime="1072820687725"
              >>>> JNDIName="jms/STARSIIUpdateAMRQueue" Name="STARSIIUpdateAMRQueue"/>
              >>>> <JMSQueue CreationTime="1072820687825"
              >>>> JNDIName="jms/STARSIIVPPExtractQueue" Name="STARSIIVPPExtractQueue"/>
              >>>> <JMSQueue CreationTime="1072820687925"
              >>>> JNDIName="jms/STARSIISIFSUploadQueue" Name="STARSIISIFSUploadQueue"/>
              >>>> <JMSQueue CreationTime="1072820688025"
              >>>> JNDIName="jms/STARSIIMARSQueue" Name="STARSIIMARSQueue"/>
              >>>> <JMSQueue CreationTime="1072820688125"
              >>>> JNDIName="jms/STARSIIFRBRichmondExtractQueue" Name="STARSIIFRBRichmondExtractQueue"/>
              >>>> <JMSQueue CreationTime="1072820688225"
              >>>> JNDIName="jms/STARSIICOTSExtractQueue" Name="STARSIICOTSExtractQueue"/>
              >>>> <JMSQueue CreationTime="1072820688325"
              >>>> JNDIName="jms/STARSIIVPPUploadQueue" Name="STARSIIVPPUploadQueue"/>
              >>>> </JMSServer>
              >>>> <Machine Name="MachineB">
              >>>> <NodeManager DebugEnabled="true" Name="MachineB"/>
              >>>> </Machine>
              >>>></Domain>
              >>>
              >
              

  • Setting up Foreign JMS Dest. to MQ: JMS Destination not found

    I'm trying to set up a foreign JMS destination to an MQ queue. There are several steps you have to get right for this to work. I thought I did them all correctly, but when I deploy the app with an MDB that references the JNDI name, it says (in the console) that the destination with the particular JNDI name could not be found.
              I first used JMSAdmin to create the JNDI data in the provider URL file location. I created the qcf and the queue. I've displayed my results that I set with that, and it all looks fine. One thing that I'm unsure about with this, however, is that the document on using JMSAdmin doesn't make it clear exactly which field in the "queue" definition is the JNDI name, and which is the MQ queue name. My guess is that the value of the "q" field is the JNDI name, and the value of the "queue" field is the MQ queue name. I'm not certain.
              I then created the foreign JMS info in the WebLogic console. I first created the foreign JMS server, using the "RefFSContextFactory" class, and my file location for the provider URL.
              I then created the foreign JMS ConnectionFactory, specifying my JNDI name in both the "local" and "remote" fields. I don't know what the difference is between those two. I did NOT enter a value in the "User Name" or "Password" fields. I don't know whether that's an issue.
              I then created the foreign JMS destination. I set the "local" and "remote" JNDI values to the JNDI value I set in the "q" field in JMSAdmin.
              I then defined an app using an MDB, with the "destination-jndi-name" set to the same value I set in the "q" field.
              When I deployed the app, I saw an error message on the console saying that when deploying the EJB module, the JNDI name (that I had specified in the "q" field) could not be found.

    David,
              first you should check, whether the JNDI-Entry is deployed. You can
              check this by displaying the jndi-tree on the weblogic console. to do
              this, right click on the server entry and select "view jndi tree".
              the point with the jndi-tree you entered as "local jndi destination"
              should be violet.
              in the definitions of foreign jms-destinations and connection factories
              you always set:
              remote jndi name: the entry which you made in JMSADMIN
              local jndi name: the jndi entry you want to use inside weblogic.
              hope this helps,
              Klaas
              David Karr schrieb:
              > I'm trying to set up a foreign JMS destination to an MQ queue. There are several steps you have to get right for this to work. I thought I did them all correctly, but when I deploy the app with an MDB that references the JNDI name, it says (in the console) that the destination with the particular JNDI name could not be found.
              >
              > I first used JMSAdmin to create the JNDI data in the provider URL file location. I created the qcf and the queue. I've displayed my results that I set with that, and it all looks fine. One thing that I'm unsure about with this, however, is that the document on using JMSAdmin doesn't make it clear exactly which field in the "queue" definition is the JNDI name, and which is the MQ queue name. My guess is that the value of the "q" field is the JNDI name, and the value of the "queue" field is the MQ queue
              > name. I'm not certain.
              >
              > I then created the foreign JMS info in the WebLogic console. I first created the foreign JMS server, using the "RefFSContextFactory" class, and my file location for the provider URL.
              >
              > I then created the foreign JMS ConnectionFactory, specifying my JNDI name in both the "local" and "remote" fields. I don't know what the difference is between those two. I did NOT enter a value in the "User Name" or "Password" fields. I don't know whether that's an issue.
              >
              > I then created the foreign JMS destination. I set the "local" and "remote" JNDI values to the JNDI value I set in the "q" field in JMSAdmin.
              >
              > I then defined an app using an MDB, with the "destination-jndi-name" set to the same value I set in the "q" field.
              >
              > When I deployed the app, I saw an error message on the console saying that when deploying the EJB module, the JNDI name (that I had specified in the "q" field) could not be found.

  • Weblogic 10 Ant task, JMS Module & Foreign JMS Destinations

    Any body knows how to configure JMS System Modules (which got introduced in WL ver. 9) and other JMS MBeans such as JMS Destinations and ConnectionFactories under the newly created JMS Module, using ant task for Weblogic 10.3 ?
    Also, when I create the ForeignJMSServer and the child MBeans such as Foreign Destinations and ConnectionFactories using ant task, it just creates the ForeignJMSServer and not creating the child MBeans. The problem is with WL 10. In WL 8.1, it works fine.
    In Weblogic 8.1, þe ant target for this job is as follows.
    ===========================================================================
         <target name="prepareForeignJMSServer">
    <wlconfig url="t3://localhost:7001" username="weblogic"
    password="weblogic" failonerror="false">
    <create type="ForeignJMSServer" name="myForeignJMSServer" property="temp-jms-server">
    <set attribute="InitialContextFactory" value="weblogic.jndi.WLInitialContextFactory"/>
    <set attribute="ConnectionURL" value="t3://192.168.0.23:7001"/>
    <set attribute="Targets" value="mydomain:Name=myserver,Type=Server"/>
    <create type="ForeignJMSConnectionFactory" name="MyRemoteCF">
    <set attribute="LocalJNDIName" value="MyLocalCFJNDI"/>
    <set attribute="RemoteJNDIName" value="MyRemoteCFJNDI"/>
    <set attribute="Username" value="weblogic-remote"/>
    <set attribute="Password" value="weblogic-remote"/>
    </create>
    <create type="ForeignJMSDestination" Name="MyRemoteQueue1">
    <set attribute="LocalJNDIName" value="MyLocalQueue1JNDI"/>
    <set attribute="RemoteJNDIName" value="MyRemoteQueue1JNDI"/>
    </create>
         </create>
              </wlconfig>
         </target>
    =====================================================================
    This target runs without error in WL 10, but does not create the ForeignJMSConnectionFactory and ForeignJMSDestination.
    If some one knows the solution, please give me advice.
    Thanks,

    Maybe this is of some help: http://www.bea-weblogic.com/namenotfoundexception-when-configuring-foreign-jms-server.html

  • JMX Removing JMS Destination

    Am using the following:
    JMSServerMBean to get a list of JMS Destinations and trying to call
    the removeDestination I get the following on the weblogic log:
    <Nov 26, 2001 5:27:01 PM EST> <Info> <JMS> <JMSServer "AutexJMSServer",
    des
    ion BECKER will be removed when JMS starts again.>
    <Nov 26, 2001 5:27:01 PM EST> <Info> <JMS> <JMSServer "AutexJMSServer",
    des
    ion BEST will be removed when JMS starts again.>
    <Nov 26, 2001 5:27:01 PM EST> <Info> <JMS> <JMSServer "AutexJMSServer",
    des
    ion PRIMARKI will be removed when JMS starts again.>
    <Nov 26, 2001 5:27:02 PM EST> <Info> <JMS> <JMSServer "AutexJMSServer",
    des
    ion LATTICEB will be removed when JMS starts again.>
    <Nov 26, 2001 5:27:02 PM EST> <Info> <JMS> <JMSServer "AutexJMSServer",
    des
    ion BRASSI will be removed when JMS starts again.>
    <Nov 26, 2001 5:27:02 PM EST> <Info> <JMS> <JMSServer "AutexJMSServer",
    des
    ion ESI will be removed when JMS starts again.>
    <Nov 26, 2001 5:27:02 PM EST> <Info> <JMS> <JMSServer "AutexJMSServer",
    des
    ion Party2 will be removed when JMS starts again.>
    <Nov 26, 2001 5:27:02 PM EST> <Info> <JMS> <JMSServer "AutexJMSServer",
    des
    ion Group4 will be removed when JMS starts again.>
    <Nov 26, 2001 5:27:02 PM EST> <Info> <JMS> <JMSServer "AutexJMSServer",
    des
    ion HARVARD will be removed when JMS starts again.>
    <Nov 26, 2001 5:27:02 PM EST> <Info> <JMS> <JMSServer "AutexJMSServer",
    des
    ion Party1 will be removed when JMS starts again.>
    However when I shutdown weblogic and bring it back up the destinations
    are still there.. Is there a way to programatically remove destinations
    via mbeans
    that works. I am aware that I have to use JMSHelper to add them
    otherwise
    they dont get written to the config file??
    BTW the documentation for this stinks.

    Hello Ken,
    Actually, when you register the destination in the JMS Connector Service, you are also creating an entry in the JNDI Registry of the Web AS, which you can use to look up the destination in your application. Furthermore, using a resource environment reference (relevant for J2EE applications), you can define an arbitrary lookup name for the destination, so the physical one does remain hidden. Hope this answers your question.
    Best regards,
    Zornitsa

  • Using MySQL DB on Weblogic 10.3.2 for JMS Store and etc.

    Hi,
    I am planning to use MySQL DB w Weblogic 10.3.2 server.
    I am planning to use Persistent JMS Destinations and planning to use MySQL Datasource for JMS store.
    Can anyone please help me understand any serious issues or considerations of this combination?
    Thanks
    Sagar

    Hi,
    I am planning to use MySQL DB w Weblogic 10.3.2 server.
    I am planning to use Persistent JMS Destinations and planning to use MySQL Datasource for JMS store.
    Can anyone please help me understand any serious issues or considerations of this combination?
    Thanks
    Sagar

  • 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

  • JMS: Looking up queue from client with JNDI

    I have written an MDB which takes messages from a queue and processes them. The messages are posted onto the queue by a java client, which looks up the queue using JNDI.
    My problem is that I don't know how the queue is registered with JNDI. Below are the EJB / OC4J config files. Are these sufficient to make the queue accessible from a Java client which is not running within OC4J? If so, what is the lookup string?
    Thanks!!
    ejb-jar.xml contains the following entry:
    <message-driven>
    <ejb-name>PODProcessor</ejb-name>
    <ejb-class>XXX.core.server.integration.PODProcessor</ejb-class>
    <transaction-type>Container</transaction-type>
    <message-driven-destination>
    <destination-type>javax.jms.Queue</destination-type>
    </message-driven-destination>
    </message-driven>
    orion-ejb-jar.xml contains this entry:
    <message-driven-deployment name="PODProcessor" connection-factory-location="java:comp/resource/agenttojms/QueueConnectionFactories/aqQcf" destination-location="java:comp/resource/agenttojms/Queues/PodQueue">
    </message-driven-deployment>
    application.xml contains this entry:
    <resource-provider class="oracle.jms.OjmsContext" name="agenttojms">
    <description>OJMS/AQ</description>
    <property name="datasource" value="jdbc/MQEmulatedDS"></property>
    </resource-provider>
    The data source is also set up in the data-sources.xml
    The EJB deploys OK.
    My client code will look something like this:
    QueueConnectionFactory queueConnectionFactory = (QueueConnectionFactory)jndiContext.lookup("javax.jms.QueueConnectionFactory");
    QueueConnection queueConnection = queueConnectionFactory.createQueueConnection();
    Queue queue = (Queue) jndiContext.lookup( "WHAT GOES IN HERE?" );
    QueueSession queueSession = queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
    QueueSender queueSender = queueSession.createSender(queue);
    // etc

    I don't know if you ever got a response, but here's how I have done it. Your client code should look like this:
    QueueConnectionFactory queueConnectionFactory = (QueueConnectionFactory)jndiContext.lookup("java:comp/resource/agenttojms/QueueConnectionFactories/aqQcf");
    QueueConnection queueConnection = queueConnectionFactory.createQueueConnection();
    Queue queue = (Queue) jndiContext.lookup( "java:comp/resource/agenttojms/Queues/PodQueue" );
    QueueSession queueSession = queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
    QueueSender queueSender = queueSession.createSender(queue);

  • JMS destinations disappear from JNDI after appserv restart

    I am using the PE 8.1 2005Q1 application server. I create a jms resource as jms/myQueue and I can see it using the JNDI browser.
    However, after restarting the application server, my destinations still show up under JMS Destinations & Admin Object Resources, but disappear from the JNDI browser and are unavailable to clients!
    Do I need to perform an addtional step in order to get the appserver to persist these jndi registrations? There appears to be a disconnect between JMS and JNDI. Any help is greatly appreciated.

    JMS has a ForeignJMSProvider config option to do this I believe. 9.0 will also support this more generally.

  • [svn] 2692: Bug: BLZ-227 - When using JMS Destination, MessageClient and FlexClient not released from memory when the session times out .

    Revision: 2692
    Author: [email protected]
    Date: 2008-07-31 13:05:35 -0700 (Thu, 31 Jul 2008)
    Log Message:
    Bug: BLZ-227 - When using JMS Destination, MessageClient and FlexClient not released from memory when the session times out.
    QA: Yes
    Doc: No
    Checkintests: Pass
    Details: Fixed a memory leak with JMS adapter. Also a minor tweak to QA build file to not to start the server if the server is already running.
    Ticket Links:
    http://bugs.adobe.com/jira/browse/BLZ-227
    Modified Paths:
    blazeds/branches/3.0.x/modules/core/src/java/flex/messaging/services/messaging/adapters/J MSAdapter.java
    blazeds/branches/3.0.x/qa/build.xml

    Revision: 2692
    Author: [email protected]
    Date: 2008-07-31 13:05:35 -0700 (Thu, 31 Jul 2008)
    Log Message:
    Bug: BLZ-227 - When using JMS Destination, MessageClient and FlexClient not released from memory when the session times out.
    QA: Yes
    Doc: No
    Checkintests: Pass
    Details: Fixed a memory leak with JMS adapter. Also a minor tweak to QA build file to not to start the server if the server is already running.
    Ticket Links:
    http://bugs.adobe.com/jira/browse/BLZ-227
    Modified Paths:
    blazeds/branches/3.0.x/modules/core/src/java/flex/messaging/services/messaging/adapters/J MSAdapter.java
    blazeds/branches/3.0.x/qa/build.xml

  • JMS Destination object not found

    Hi everyone,
    I have a weird problem with SunONE Message Queue 3.
    I have a queue and a connection factory defined (using the SunONE Application Server 7 Admin Console) as well as a physical resource.
    I can verify their existance using asadmin....
    asadmin>list-jmsdest -u admin server1
    queue_1 queue {}
    asadmin>list-jms-resources -u admin server1
    jms/newqueue_1
    jms/newQCF_1
    When I attempt to deploy a message driven EJB I get the following error
    SEVERE ( 1484): javax.naming.InvalidNameException: JMS Destination object not found:`jms/newqueue_1`
    This question has already been asked on the App Server board here http://swforum.sun.com/jive/thread.jspa?threadID=15517&tstart=0 (that post is nine months old btw).
    I am posting this here in the hope that someone more familiar with MQ3 may have an idea of how to help us.
    Thanks in advance.

    I have now solved this problem. External JNDI resources are required in the AppServer.
    They can be created with the following commands:
    asadmin>create-jndi-resource jndilookupname jms/newQCF_1 resourcetype javax.jms.QueueConnectionFactory factoryclass com.sun.jndi.fscontext.RefFSContextFactory enabled=true --property java.naming.provider.url=file\:///c\:/java/mqjndi:java.naming.security.authentication=none newQCF_1
    asadmin>create-jndi-resource jndilookupname jms/queue_1 resourcetype javax.jms.Queue factoryclass com.sun.jndi.fscontext.RefFSContextFactory enabled=true --property java.naming.provider.url=file\:///c\:/java/mqjndi newqueue_1
    Both these commands assume that the file system context is being used however the LDAP commands are similar (just more properties).
    This step, which seems vital, is missing from the AppServer documentation (in fact it specifically states that this step is not necessary). The irony is that I found the answer in the IBM MQ documentation!

  • Additional JMS Destination Attributes

    How can I associate additional attributes to an Administered Object in
              JNDI? Specifically, I want to add a JMS Destination (Queue) to the
              JNDI context. I want the Queue to also have 2 additional attributes
              for my application to process. The additional attributes I need to
              associate with the Administered Queue Object are: Reply-To-Queue and a
              boolean value (log message or don't log message).
              I went into the JNDI namespace (iPlanet Directory Server in this
              case), and manually added additional attributes in the
              javaReferenceAddress. The JMS API did not choke on this, but I can't
              figure out a way to expose this either.
              

    I found that if I in the JMS receiver queue tick Specify Additional JMS Message Properties (Maximum of 10) and provide the name JMSReplyTo and the value Sting I can collect the ReplyTo queue name via a parameter in the operation mapping and the value of that parameter I can set to the Dynamic Configuration variable DCJMSMessageProperty0 in a UDF like this:
    String x = container.getInputParameters().getString("replyToQueueName");
    DynamicConfiguration conf1 = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION) ;
    DynamicConfigurationKey key1 = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/JMS", "DCJMSMessageProperty0") ;
    conf1.put(key1, x);
    return "";

  • Bind JMS Destination to Physical Destination

    Hi,
    How can I bind the Destination resource with jndi-name
    to Physical resource.
    I've created a destination resource using the
    administrative console, but can't find an option
    to specify the physical destination.
    thanks
    hima

    Hi Hima,
    Yes, this is confusing because there are several properties that need to be set on the JMS Resource and JMS Destination objects. However, the property editor is not shown while creating the objects, you can click on the objects after they have been created and access the properties editor at that stage. We will be providing a wizard-based facility in the admin GUI in the future.
    For now, please see the instructions contained in the samples/jms/queue/simple/docs/ and samples/jms/topic/simple/docs/ directories. Although the command line approach to defining these objects is included in these instructions, you can also define the necessary properties via the admin GUI after the initial skeletal objects have been created.
    Chris

Maybe you are looking for

  • Kichat: How do I get iChat 3 working ?

    An Update to http://discussions.apple.com/thread.jspa?threadID=278760 Line To be removed on Posting if Accepted How do I get iChat 3 working ? - Upgrade hints:FAQ Trouble Shooting This Post deals with Updating iChat 2 in Panther to iChat 3 in Tiger N

  • How much should I expect to pay for a new hard drive for my macro with 250

    How much should I expect to pay to replace damaged hard drive?

  • Back to back scratch noises from speaker and headphone jack, very faint

    I'm having a headphone/speaker issue, but it is very difficult to describe. When I use my computer, the speakers or headphones (if plugged in) will occasionally emit two quick scratchy noises back to back. The speakers and headphones work great, but

  • Coulmn should be read only

    Hi every one, I want to set field values to be read only I have chosen responsibility "Employee Self-Service" and then function "Personal Information" under that. Under section "Phone Numbers" I have , click on Update By default Number column is alwa

  • When Building Blocks Explode in Microsoft Word

    Pushing out a Word 2010 SP1 template to approximately 150+ machines. There are several building blocks on the template, two of which are causing me problems. The major difference seen is that these problematic building block options contain nested co