AQ-JMS-WLS

          Hi,
          I am binding the a AQJMS_FACTORY & a AQ_QUESUS to the JNDI tree of WLS using a
          startup class and polling on the queue using an MDB. (I have used Eric Ma's code
          as an example.)
          But, the problem is that MDB polls on the queue only "during" starting of WLS
          or when the MDB is being re-deployed. After, starting WLS the MDB fails to read
          messages from the AQ unless redeployed. I have checked the JNDI tree using WLS
          console. The AQJMS_FACTORY & AQ_QUESUS are bound to the tree correctly. The polling
          interval of the MDB is set to 1 sec.
          Can anyone give pointers to why the MDB is not polling on the AQ ?
          Problem I realized is that the either DB connection or QSession is not live
          to get the Queue.
          Every time MDB poll the Queue it is looking for DB connection.
          Can any one help me to keep both the connection live by any mean on Webligic server?
          Regards,
          Jugal
          

          Tried it again on another Unix server, it worked.
          Thanks,
          Dips
          "Diptanshu Parui" <[email protected]> wrote:
          >
          >Hi Eric,
          >
          >Yes, the Oracle is on a Solaris box and we had already tried (prior to
          >the posting)
          >modifying /etc/hosts file. But, still didn't work. Take note that the
          >clients
          >have static ip and select subscription_name,location_name from sys.reg$
          >on the
          >database returns details of all clients connected.
          >
          >Regards,
          >Diptanshu
          >
          >"Eric Ma" <[email protected]> wrote:
          >>
          >>If your Oracle database is on Unix/Linux, you may have run into an Oracle
          >>bug.
          >> Find a work-around at:
          >>
          >>Asynchronous consumption from AQ JMS
          >>
          >>Eric Ma
          >>
          >>"Jugal Sharma" <[email protected]> wrote:
          >>>
          >>>Hi,
          >>>
          >>>I am binding the a AQJMS_FACTORY & a AQ_QUESUS to the JNDI tree of
          >WLS
          >>>using a
          >>>startup class and polling on the queue using an MDB. (I have used Eric
          >>>Ma's code
          >>>as an example.)
          >>>
          >>>But, the problem is that MDB polls on the queue only "during" starting
          >>>of WLS
          >>>or when the MDB is being re-deployed. After, starting WLS the MDB fails
          >>>to read
          >>>messages from the AQ unless redeployed. I have checked the JNDI tree
          >>>using WLS
          >>>console. The AQJMS_FACTORY & AQ_QUESUS are bound to the tree correctly.
          >>>The polling
          >>>interval of the MDB is set to 1 sec.
          >>>
          >>>Can anyone give pointers to why the MDB is not polling on the AQ ?
          >
          >>>
          >>>Problem I realized is that the either DB connection or QSession is
          >>>not live
          >>>to get the Queue.
          >>>Every time MDB poll the Queue it is looking for DB connection.
          >>>
          >>>Can any one help me to keep both the connection live by any mean on
          >>Webligic
          >>>server?
          >>>
          >>>Regards,
          >>>Jugal
          >>>
          >>>
          >>>
          >>>
          >>
          >
          

Similar Messages

  • MDB with foreign JMS : WLS 9.23

    For the love of _____ (fill in your own muse of desperation here), is there some categorical statement of whether WLS9.23 actually ***works*** with MDB's and foreign JMS providers? Whereever I search/find, people have trouble with this.
              Some kind BEA sould - please. Please, please please : publish a canonical example of MDB with secured foreign-JNDI provided connx factory, and either a queue or a topic.
              I'm beginning to wonder if this works at all.

    Good morning!
              Categorical Statement: WLS supports JMS spec compliant foreign providers for MDBs, bridges, resource-references, foreign providers. We also support sending a foreign providers message using a WebLogic JMS client.
              For general Tibco integration questions, I recall that the Tibco docs themselves contain WebLogic integration examples. There's also some much mention of Tibco in the out-dated "Using Foreign JMS Providers with WebLogic Server" white-paper on dev2dev.
              That said, there have been definitely been problems with Tibco and MQ's latest release, as they both recently released semi-non-JMS compliant clients that our wrapper code was unprepared to deal with. In short, we were caught unawares when these clients stopped supporting the 1.0.2 APIs even though 1.1 specification clearly requires both 1.1 and 1.0.2 support. Rather than ask Tibco and MQ teams to have them patch their code (an approach we've sometimes taken over the years), we chose this time to enhance our code.
              I think the problems were all fixed by 9.23 - but you may want to contact customer support to see if there are any additional patches required. Alternatively, you can try use a slightly older Tibco client, as presumably their older clients are still able to interoperate with their latest server version (this approach works with MQ).
              Tom

  • Tuxedo--Elink---mqseries----Jms---Wls  : Is it possible???

    Hi all,
    I have to post again a question about Tuxedo-WLS communication. Unfortunately
    the architecture we use is AIX so Weblogic Tuxedo Connector cannot be used. I
    thought about another possible solution: that is, contacting the AIX machine using
    MQSeries (via Bea eLinkAdapter for MQSeries) and in turn invoking WLS via JMS.
    Yes it's a bit troublesome but I'd like to know if this could be an alternative......what
    do you think?
    Thanks
    Francesco

    Fransesco,
    WTC is an integral part of WLS 6.1 and higher, and is thereore (as far as I am
    aware) supported on all the platforms that WLS 6.1 is, so it should run just
    fine on AIX.
    Regards,
    Peter.
    Got a Question? Ask BEA at http://askbea.bea.com
    The views expressed in this posting are solely those of the author, and BEA
    Systems, Inc. does not endorse any of these views.
    BEA Systems, Inc. is not responsible for the accuracy or completeness of the
    information provided
    and assumes no duty to correct, expand upon, delete or update any of the
    information contained in this posting.
    Francesco wrote:
    Hi all,
    I have to post again a question about Tuxedo-WLS communication. Unfortunately
    the architecture we use is AIX so Weblogic Tuxedo Connector cannot be used. I
    thought about another possible solution: that is, contacting the AIX machine using
    MQSeries (via Bea eLinkAdapter for MQSeries) and in turn invoking WLS via JMS.
    Yes it's a bit troublesome but I'd like to know if this could be an alternative......what
    do you think?
    Thanks
    Francesco

  • MDB deployed on a separate WLS/machine from where JMS is running

    I'm trying to deploy an MDB on a separate WLS/machine from where
    JMS is running. How and where to put the reference to the queue to read messages.
    Also please share the versions of ejb-jar.xml and weblogic-ejb-jar.xml files that
    are more practical and meaningful than they are in BEA samples.
    Thanks a lot.

    If the MDB's WLS instance and the JMS WLS instance are in the same
    cluster, then you shouldn't need to do anything. (The clustering will
    present a unified JNDI tree and that's how it finds it.)
    If they're not clustered, you need something like this in your
    weblogic-ejb-jar.xml:
    <message-driven-descriptor>
    <destination-jndi-name>Bids</destination-jndi-name>
    <provider-url>t3://jms_server:7001</provider-url>
    </message-driven-descriptor>
    -- Rob
    Alan wrote:
    I'm trying to deploy an MDB on a separate WLS/machine from where
    JMS is running. How and where to put the reference to the queue to read messages.
    Also please share the versions of ejb-jar.xml and weblogic-ejb-jar.xml files that
    are more practical and meaningful than they are in BEA samples.
    Thanks a lot.

  • Is there a  requirement to restart the JMS/Weblogc Server everytime when the DB goes down?

    Question:
    When the Database is shutdown gracefully everything was fine.
    But when the Database is brought down with shutdown abort the MDB consumer will never consume messages from the topic again. And we need to restart the WebLogic Server in order to get the messages consumed again.
    So is there a requirement to restart the JMS/Weblogc Server everytime when the DB goes down? If not, what type of failures will require the JMS/WLS restart?

    On a DB failure, a WL JDBC store service will make a brief attempt to reconnect before shutting itself down along with any services that depend on the store. 
    It isn't necessary to restart the entire WebLogic Server JVM to bring the affected service(s) back if you can use the Automatic Service Migration feature.  ASM can automatically restart a failed service on a different WL Server in the same cluster, and/or can try a restart-in-place for the service if the service's original host WL Server JVM is still running.   The Automatic Service Migration (pdf) white-paper has a thorough discussion of this area.
    In addition to ASM, there's also a "whole server migration" option that can automatically restart or migrate an entire WL server.
    Tom

  • How to configure MQ with WLS (JMS MQ vs Native MQ)

    Hi All,
    SOA Suite = 11.1.3.3
    MQ Series = 6.0
    Jdeveloper = 11.1.3.3
    I want to read/write data to an MQ which is setup on a physical box different from Weblogic Server box. But both systems fall under the same network. I did some research on the forums to know the steps to configure MQ but ultimately got confused with the following questions in mind.
    1. What is the difference between JMS MQ and Native MQ? How to determine which one to use?
    2. If native MQ can be used here, what are the steps to configure Native MQ on WLS in my situation?
    3. Do I need any foreign servers or message bridges to be configured?
    Please provide any directions or pointers.
    Regards,
    Neeraj Sehga

    1. What is the difference between JMS MQ and Native MQ? How to determine which one to use?Native MQ refers to a proprietary api provided by IBM in multiple languages including java so that applications running on these can communicate mq. IBM also provides JMS wrappers around this native api, so that a jms client can talk to mq using JMS API. This is called MQ JMS.
    2. If native MQ can be used here, what are the steps to configure Native MQ on WLS in my situation?SOA suite provides a MQ Resource Adaptor which can be used to connect to MQ. The developers of this resource adapter would have used the native api to enable the adaptor to talk to MQ, so that you dont have to worry about it. However you will need to configure the properties of your local MQ ( qmgr , q name etc). This is done in the outbound connection pool properties of the resource adaptor.
    please check this blog for how to do this : http://soa-bpel-esb.blogspot.com/2009/09/configuring-mq-in-11g-soa-suite.html.
    Since your MQ installation is in a remote machine you will have to configure the following properties specific to your environment - hostname, port, server connection channel, along with the queue manager name and queue name
    3. Do I need any foreign servers or message bridges to be configured?Not required for your case if you are using MQ Adaptor. Since MQ also provides a JMS transport , you would have required foreign servers if you have to use JMS Adaptor instead of MQ Adaptor. Native MQ is expected to be faster than MQ JMS as it doesn't have the extra JMS layer.

  • [OSB10.3.1] err creating JMS stuff in OSB cluster from recorded WLS session

    Hi all,
    I've setup an OSB cluster with 2 managed servers.
    From WLS console I created successfully the below JMS resources:
    1. new file store, name and directory: MyFileStore_m01, target: bnk01osbm01 migratable
    2. new file store, name and directory: MyFileStore_m02, target: bnk01osbm02 migratable
    3. new jms server, name: MyJMSServer_m01, persistent store: MyFileStore_m01, target: bnk01osbm01 migratable
    4. new jms server, name: MyJMSServer_m02, persistent store: MyFileStore_m02, target: bnk01osbm02 migratable
    5. new jms module, name: MyJMSSystemModule, targets: cluster bnk01osbcluster + all servers in the cluster
    6. new xa conn factory, name: MyXAConnectionFactory, jndi name: MyXAConnectionFactory
    (targets as proposed by WLS itself: cluster bnk01osbcluster + all servers in the cluster)
    + XA Connection Factory Enabled: true
    7. new Distributed Queue, name: MyDistributedQueue1, jndi name: MyDistributedQueue1, load balancing policy: round-robin
    (targets as proposed by WLS itself: cluster bnk01osbcluster + all servers in the cluster)
    + allocate members uniformly: true
    and I recorded that into the included recorded_by_wls.py. As said no error has been raised.
    Then I removed the above JMS resources and I executed the recorded_by_wls.py from command line getting the error that I reported at the end of the email.
    I changed slightly the original py produced by WLS by adding only the below first 5 lines:
    print "Starting the script ..."
    connect("weblogic", "weblogic", "t3://wasdv1r3n1.dev.b-source.net:7031")
    edit()
    startEdit()
    cd('/')
    I included also the recorded_by_wls.py source at the end of the email.
    For information I reported also what I saw on WLS console when I created manually my JMS resources.
    Do you have an idea why a successfully recorded WLS session fails when executed from a command line ?
    Any help will be very appreciate.
    Thanks in advance.
    Regards
    ferp
    Error:
    java weblogic.WLST recorded_by_wls.py          Initializing WebLogic Scripting Tool (WLST) ...
    Welcome to WebLogic Server Administration Scripting Shell
    Type help() for help on available commands
    Starting the script ...
    Connecting to t3://wasdv1r3n1.dev.b-source.net:7031 with userid weblogic ...
    Successfully connected to Admin Server 'bnk01osbadm' that belongs to domain 'bnk01osb'.
    Warning: An insecure protocol was used to connect to the server. To ensure on-the-wire security, the SSL port or
    Admin port should be used instead.
    Location changed to edit tree. This is a writable tree with
    DomainMBean as the root. To make changes you will need to start an edit session via startEdit().
    For more help, use help(edit)
    Starting an edit session ...
    Started edit session, please be sure to save and activate your changes once you are done.
    Activating all your changes, this may take a while ...
    The edit lock associated with this edit session is released once the activation is completed.
    Activation completed
    Starting an edit session ...
    Started edit session, please be sure to save and activate your changes once you are done.
    Activating all your changes, this may take a while ...
    The edit lock associated with this edit session is released once the activation is completed.
    This Exception occurred at Mon Sep 07 15:31:33 CEST 2009.
    weblogic.application.ModuleException: ERROR: Unable to add destination MyJMSSystemModule!wlsbJMSServer_auto_2@MyDistributedQueue1 to the back end wlsbJMSServer_auto_2
    at weblogic.jms.module.JMSModule.prepareUpdate(JMSModule.java:618)
    at weblogic.jms.module.ModuleCoordinator.prepareUpdate(ModuleCoordinator.java:487)
    at weblogic.application.internal.flow.DeploymentCallbackFlow$5.next(DeploymentCallbackFlow.java:514)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
    at weblogic.application.internal.flow.DeploymentCallbackFlow.prepareUpdate(DeploymentCallbackFlow.java:280)
    at weblogic.application.internal.BaseDeployment$PrepareUpdateStateChange.next(BaseDeployment.java:679)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
    at weblogic.application.internal.BaseDeployment.prepareUpdate(BaseDeployment.java:444)
    at weblogic.application.internal.SingleModuleDeployment.prepareUpdate(SingleModuleDeployment.java:16)
    at weblogic.application.internal.DeploymentStateChecker.prepareUpdate(DeploymentStateChecker.java:221)
    at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepareUpdate(AppContainerInvoker.java:149)
    at weblogic.deploy.internal.targetserver.operations.DynamicUpdateOperation.doPrepare(DynamicUpdateOperation.java:130)
    at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217)
    at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:723)
    at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1190)
    at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:248)
    at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:159)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:157)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:12)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:45)
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused by: weblogic.jms.common.JMSException: [JMSExceptions:045050]A destination of name MyJMSSystemModule!wlsbJMSServer_auto_2@MyDistributedQueue1 has a jms-create-destination-identifier of name MyJMSSystemModule!wlsbJMSServer_auto_2@MyDistributedQueue1. However, another destination of name MyJMSSystemModule!wlsbJMSServer_auto_2@MyDistributedQueue1 has the same jms-create-destination-identifier. Two destinations with the same jms-create-destination-identifier cannot be co-located on the JMSServer named wlsbJMSServer_auto_2.
    at weblogic.jms.backend.BackEnd.addDestination(BackEnd.java:1527)
    at weblogic.jms.backend.BEDestinationRuntimeDelegate.prepare(BEDestinationRuntimeDelegate.java:195)
    at weblogic.jms.backend.udd.UDDEntity.prepare(UDDEntity.java:444)
    at weblogic.jms.module.JMSModule$EntityState.setState(JMSModule.java:1704)
    at weblogic.jms.module.JMSModule$EntityState.setState(JMSModule.java:1667)
    at weblogic.jms.module.JMSModule$EntityState.access$100(JMSModule.java:1608)
    at weblogic.jms.module.JMSModule.addEntity(JMSModule.java:936)
    at weblogic.jms.module.JMSModule.addEntity(JMSModule.java:841)
    at weblogic.jms.module.JMSModule.access$1500(JMSModule.java:87)
    at weblogic.jms.module.JMSModule$JMSModuleListener.prepareUpdate(JMSModule.java:1485)
    at weblogic.descriptor.internal.DescriptorImpl$Update.prepare(DescriptorImpl.java:481)
    at weblogic.descriptor.internal.DescriptorImpl.prepareUpdateDiff(DescriptorImpl.java:195)
    at weblogic.descriptor.internal.DescriptorImpl.prepareUpdate(DescriptorImpl.java:174)
    at weblogic.jms.module.JMSModule.prepareUpdate(JMSModule.java:614)
    Problem invoking WLST - Traceback (innermost last):
    File "/products/software/tmp/recorded_by_wls.py", line 92, in ?
    File "<iostream>", line 364, in activate
    WLSTException: Error occured while performing activate : Error while Activating changes.ERROR: Unable to add destination MyJMSSystemModule!wlsbJMSServer_auto_2@MyDistributedQueue1 to the back end wlsbJMSServer_auto_2 Use dumpStack() to view the full stacktrace
    recorded_by_wls.py source
    print "Starting the script ..."
    connect("weblogic", "weblogic", "t3://wasdv1r3n1.dev.b-source.net:7031")
    edit()
    startEdit()
    cd('/')
    cmo.createFileStore('MyFileStore_m01')
    cd('/FileStores/MyFileStore_m01')
    cmo.setDirectory('MyFileStore_m01')
    set('Targets',jarray.array([ObjectName('com.bea:Name=bnk01osbm01 (migratable),Type=MigratableTarget')], ObjectName))
    activate()
    startEdit()
    cd('/')
    cmo.createFileStore('MyFileStore_m02')
    cd('/FileStores/MyFileStore_m02')
    cmo.setDirectory('MyFileStore_m02')
    set('Targets',jarray.array([ObjectName('com.bea:Name=bnk01osbm02 (migratable),Type=MigratableTarget')], ObjectName))
    activate()
    startEdit()
    cd('/')
    cmo.createJMSServer('MyJMSServer_m01')
    cd('/Deployments/MyJMSServer_m01')
    cmo.setPersistentStore(getMBean('/FileStores/MyFileStore_m01'))
    set('Targets',jarray.array([ObjectName('com.bea:Name=bnk01osbm01 (migratable),Type=MigratableTarget')], ObjectName))
    activate()
    startEdit()
    cd('/')
    cmo.createJMSServer('MyJMSServer_m02')
    cd('/Deployments/MyJMSServer_m02')
    cmo.setPersistentStore(getMBean('/FileStores/MyFileStore_m02'))
    set('Targets',jarray.array([ObjectName('com.bea:Name=bnk01osbm02 (migratable),Type=MigratableTarget')], ObjectName))
    activate()
    startEdit()
    cd('/')
    cmo.createJMSSystemResource('MyJMSSystemModule')
    cd('/SystemResources/MyJMSSystemModule')
    set('Targets',jarray.array([ObjectName('com.bea:Name=bnk01osbcluster,Type=Cluster')], ObjectName))
    activate()
    startEdit()
    cd('/JMSSystemResources/MyJMSSystemModule/JMSResource/MyJMSSystemModule')
    cmo.createConnectionFactory('MyXAConnectionFactory')
    cd('/JMSSystemResources/MyJMSSystemModule/JMSResource/MyJMSSystemModule/ConnectionFactories/MyXAConnectionFactory')
    cmo.setJNDIName('MyXAConnectionFactory')
    cd('/JMSSystemResources/MyJMSSystemModule/JMSResource/MyJMSSystemModule/ConnectionFactories/MyXAConnectionFactory/SecurityParams/MyXAConnectionFactory')
    cmo.setAttachJMSXUserId(false)
    cd('/JMSSystemResources/MyJMSSystemModule/JMSResource/MyJMSSystemModule/ConnectionFactories/MyXAConnectionFactory')
    cmo.setDefaultTargetingEnabled(true)
    activate()
    startEdit()
    cd('/JMSSystemResources/MyJMSSystemModule/JMSResource/MyJMSSystemModule/ConnectionFactories/MyXAConnectionFactory/TransactionParams/MyXAConnectionFactory')
    cmo.setTransactionTimeout(3600)
    cmo.setXAConnectionFactoryEnabled(true)
    activate()
    startEdit()
    cd('/JMSSystemResources/MyJMSSystemModule/JMSResource/MyJMSSystemModule')
    cmo.createUniformDistributedQueue('MyDistributedQueue1')
    cd('/JMSSystemResources/MyJMSSystemModule/JMSResource/MyJMSSystemModule/UniformDistributedQueues/MyDistributedQueue1')
    cmo.setJNDIName('MyDistributedQueue1')
    cmo.setLoadBalancingPolicy('Round-Robin')
    cmo.setDefaultTargetingEnabled(true)
    activate()
    startEdit()
    -- source end --
    ON WLS console
    Name Type Target
    MyFileStore_m01 FileStore bnk01osbm01 (migratable)
    MyFileStore_m02 FileStore bnk01osbm02 (migratable)
    FileStore_auto_1 FileStore bnk01osbm01
    FileStore_auto_2 FileStore bnk01osbm02
    WseeFileStore_auto_1 FileStore bnk01osbm01
    WseeFileStore_auto_2 FileStore bnk01osbm02
    Name Persistent Store Target Current Server
    MyJMSServer_m01 MyFileStore_m01 bnk01osbm01 (migratable) bnk01osbm01
    MyJMSServer_m02 MyFileStore_m02 bnk01osbm02 (migratable) bnk01osbm02
    wlsbJMSServer_auto_1 FileStore_auto_1 bnk01osbm01 bnk01osbm01
    wlsbJMSServer_auto_2 FileStore_auto_2 bnk01osbm02 bnk01osbm02
    WseeJmsServer_auto_1 Wsee FileStore_auto_1 bnk01osbm01 bnk01osbm01
    WseeJmsServer_auto_2 Wsee FileStore_auto_2 bnk01osbm02 bnk01osbm02
    Name Type
    MyJMSSystemModule System
    configwiz-jms System
    jmsResources System
    WseeJmsModule System
    Name Type JNDI Name Subdeployment Targets
    MyDistributedQueue1 Uniform Distributed Queue MyDistributedQueue1 Default Targetting bnk01osbcluster
    MyXAConnectionFactory Connection Factory MyXAConnectionFactory Default Targetting bnk01osbcluster

    Hi Ferp,
    Do you have an idea why a successfully recorded WLS session fails when executed from a command line ?It should not fail. Each and every successfully (activation has been done without reporting an error/conflict) recorded session will execute on other servers successfully until a unique name constraint gets violated.
    In your case this violation has happened. Your script is trying to create a distributed destination "MyDistributedQueue1" under module "MyJMSSystemModule", targetted to JMS Server "wlsbJMSServer_auto_2" but a Distributed Queue with same JNDI name already exists there.
    Please check.
    Regards,
    Anuj

  • WLS-Console export vs JMS browse API

    Hi -
    We are attempting to solve a problem revolving around JMS pagination and seek your help.
    We have a scenario where in certain cases the application queues pile up due to the input flow being far higher than the consumer application capacity.
    In this scenario, we would like to have a mechanism where we can drain out the queues.
    We wrote up a custom script which would read the messages in a queue and dump the values in a file.
    This seems to work for smaller numbers, but when the pile up grows (in number in our case around 20K messages) it appears that the messages are being paged out we see a heavy slow down effect (we have filters on the JMS headers).
    One suggestion was to export all messages present (by compromising on the ability to filter messages) through the functionality present in Weblogic console. Wanted to check if the performance of the export (on the WLS console) would remain linear irrespective of the number of messages or would we still hit a performance block if the messages are paged.
    TIA,
    Senthil
    Edited by: 920205 on Mar 12, 2012 3:23 AM

    Exporting messages may be practical here either.
    I am not sure if you have looked at the JMS performance tuning guide, which has a section for handling messages backlogs.
    My suggestion would be to see if you can add producer flow control and message expiration with error destinations.
    For more details, please refer to http://docs.oracle.com/cd/E17904_01/web.1111/e13814/jmstuning.htm#CHDIJEFE
    Hope this helps.
    Dongbo

  • Problem creating JMS Error Destination via Ant in WLS 8.1

    We've got several JMS queues in our application. We create the server via Ant (using the wlconfig task).
    All is well, the queues have been working fine, until we try to add an error destination queue (after several attempts to handle the message, it'll be sent to the error queue for later troubleshooting).
    Here's an example of what we've got now:
    <create type="JMSQueue" name="batchQueue" property="jmsqueue">
        <set attribute="JNDIName" value="net.nike.cdm.batchQueue"/>
        <set attribute="RedeliveryLimit" value="5"/>
    </create>We create another queue to handle the errors, and then add an attribute to the first to point to the second:
    <create type="JMSQueue" name="batchErrorQueue" property="batchErrorQueue">
        <set attribute="JNDIName" value="net.nike.cdm.batchErrorQueue"/>
        <set attribute="RedeliveryLimit" value="5"/>
    </create>
    <create type="JMSQueue" name="batchQueue" property="jmsqueue">
        <set attribute="JNDIName" value="net.nike.cdm.batchQueue"/>
        <set attribute="RedeliveryLimit" value="5"/>
        <set attribute="ErrorDestination" value="${batchErrorQueue}"/>
    </create>This seems logical, because if we do this same exact operation via the console, the config.xml goes from this:
    <JMSQueue JNDIName="net.nike.cdm.batchQueue"
                Name="batchQueue" RedeliveryLimit="5"/>to this:
    <JMSQueue ErrorDestination="batchErrorQueue"
                JNDIName="net.nike.cdm.batchQueue"
                Name="batchQueue" RedeliveryLimit="5"/>
    <JMSQueue JNDIName="net.nike.cdm.batchErrorQueue" Name="batchErrorQueue"/>The error we get when trying to do this via Ant is:
    [wlconfig] A destination and its ErrorDestination must both be on the same JMS server. (The problematic destination is "batchQueue" on JMS server "cdmdomain"). Also, an ErrorDestination can not be null if the ExpirationPolicy for a destination is "redirect" and a destination can not specify itself as its ErrorDestination.Flipping on -verbose in Ant, the actual exception is:
    [wlconfig] SET -mbean cdmdomain:Name=batchQueue,Type=JMSQueue -property ErrorDestination cdmdomain:Name=batchErrorQueue,Type=JMSQue
    [wlconfig] A destination and its ErrorDestination must both be on the same JMS server. (The problematic destination is "batchQueue"
    s its ErrorDestination.
          [if] Error in class net.sf.antcontrib.logic.IfTask
    BUILD FAILED
    file:C:/viewstore/CDM_R6.5_Development/B2B_CDM/dev/build.xml:1399: Error invoking MBean command: java.lang.NullPointerException
           at weblogic.ant.taskdefs.management.WLConfig.handleException(WLConfig.java:567)
           at weblogic.ant.taskdefs.management.WLConfig.invokeCommand(WLConfig.java:381)
           at weblogic.ant.taskdefs.management.WLConfig.invokeSetCommand(WLConfig.java:235)
           at weblogic.ant.taskdefs.management.WLConfig.invokeCreateCommand(WLConfig.java:163)
           at weblogic.ant.taskdefs.management.WLConfig.executeCommands(WLConfig.java:106)
           at weblogic.ant.taskdefs.management.WLConfig.invokeCreateCommand(WLConfig.java:167)
           at weblogic.ant.taskdefs.management.WLConfig.executeCommands(WLConfig.java:106)
           at weblogic.ant.taskdefs.management.WLConfig.execute(WLConfig.java:89)
           at org.apache.tools.ant.Task.perform(Task.java:341)
           at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:117)
           at org.apache.tools.ant.Task.perform(Task.java:341)
           at net.sf.antcontrib.logic.IfTask.execute(Unknown Source)
           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
           at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
           at java.lang.reflect.Method.invoke(Method.java:324)
           at org.apache.tools.ant.TaskAdapter.execute(TaskAdapter.java:147)
           at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:193)
           at org.apache.tools.ant.Task.perform(Task.java:341)
           at org.apache.tools.ant.Target.execute(Target.java:309)
           at org.apache.tools.ant.Target.performTasks(Target.java:336)
           at org.apache.tools.ant.Project.executeTarget(Project.java:1339)
           at org.apache.tools.ant.Project.executeTargets(Project.java:1255)
           at org.apache.tools.ant.Main.runBuild(Main.java:609)
           at org.apache.tools.ant.Main.start(Main.java:196)
           at org.apache.tools.ant.Main.main(Main.java:235)So, my question is, what are we doing wrong? What IS the syntax to set an error destination for a JMS queue via Ant for WLS 8.1?
    Any help would be greatly appreciated
    Thanks,
    Douglas Bullard

    I get exactly the same problem - was a resolution to this issue found?
    Thanks,
    Richard Marriott
    [email protected]

  • JMS Bridge from WLS to OAS not working; automatic redirection to JMS Port

    We have setup a JMS Bridge inbetween Weblogic Server 10.3.0 and Oracle App Server 10.1.3. In our test environment it is working fine. But, in LIVE, we are facing a problem. Firewall is there inbetween OAS and WLS.
    1. OAS Admin port 6003, is blocked by firewall. So, from outside environment we can't connect to this port.
    2. OAS Port 12401 (RMI Port) is not-blocked
    3. OAS Port 12601 (JMS Port) is blocked by firewall
    4. We created credential "JMS_USER" while configuring QueueConnFactory at OAS end and used it while setting up WLS JMS Bridge
    We are using ormi://172.24.255.59:12401/default as Provider URL from Weblogic while creating JMS Bridge.
    Problem
    ========
    While connecting from WLS we are getting the following error from WLS end:
    javax.jms.JMSException: Unable to create a connection to "apgst366/172.24.255.59:12,601" as user "JMS_USER".
         at com.evermind.server.jms.JMSUtils.make(JMSUtils.java:1050)
         at com.evermind.server.jms.JMSUtils.toJMSException(JMSUtils.java:1130)
         at com.evermind.server.jms.EvermindConnection.<init>(EvermindConnection.java:132)
         at com.evermind.server.jms.EvermindQueueConnection.<init>(EvermindQueueConnection.java:71)
    Question
    =========
    1) We are requesting for 12401; then why the JMS Port 12601 is being referred?
    2) Is there any automatic redirection from OAS end?
    3) Will unblocking the 12601 port by Firewall help?
    Please help me, as this has become a burning issue for us.
    Thanks in advance.

    Can anybody please help me?

  • 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
              

  • Cannot bind tibco's jms connection factory to wls jndi

    we are using wls 6.1 sp2. I am trying to bind tibco's jms connection factory
    and queue from a standalone client to weblogic's jndi tree so that apps on wls
    can lookup these object in wls jndi locally. I have included the required classes
    in the classpath for both the client and wls. I am able to bind the queue successfully
    and am able to use it successfully too, but I am not able to bind the tib's queue
    or topic connection factory. I am getting the following errors. I checked and
    double checked the classpath and
    Start server side stack trace:
    java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
    java.io.InvalidClassException: com.tibco.tibjms.naming.TibjmsFederatedTopicConnectionFactory;
    InstantiationExcep
    tion
    java.io.InvalidClassException: com.tibco.tibjms.naming.TibjmsFederatedTopicConnectionFactory;
    InstantiationException
    at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:94)
    at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:123)
    at weblogic.jndi.internal.RootNamingNode_WLSkel.invoke(Unknown Source)
    at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
    at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93)
    at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
    at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    End server side stack trace
    ; nested exception is:
    java.io.InvalidClassException: com.tibco.tibjms.naming.TibjmsFederatedTopicConnectionFactory;
    com.tibco.tibjms.n
    aming.TibjmsFederatedTopicConnectionFactory; InstantiationException
    Start server side stack trace:
    java.io.InvalidClassException: com.tibco.tibjms.naming.TibjmsFederatedTopicConnectionFactory;
    InstantiationException
    at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:94)
    at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:123)
    at weblogic.jndi.internal.RootNamingNode_WLSkel.invoke(Unknown Source)
    at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
    at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93)
    at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
    at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    End server side stack trace
    java.io.InvalidClassException: com.tibco.tibjms.naming.TibjmsFederatedTopicConnectionFactory;
    com.tibco.tibjms.naming.Ti
    bjmsFederatedTopicConnectionFactory; InstantiationException
    Start server side stack trace:
    java.io.InvalidClassException: com.tibco.tibjms.naming.TibjmsFederatedTopicConnectionFactory;
    InstantiationException
    at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:94)
    at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:123)
    at weblogic.jndi.internal.RootNamingNode_WLSkel.invoke(Unknown Source)
    at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
    at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93)
    at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
    at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    End server side stack trace
    <<no stack trace available>>
    anybody any ideas.
    I am also trying to bind the tib's jndi tree in wls jndi tree through a reference
    object and am passing a composite name for lookup. I am getting a cannotproceedexception.
    I wonder if the weblogic jndi can be federated.
    anybody any ideas or pointers
    thanks
    Devaraju, Sushant

    Seems there is a bug in the tibco jms software.
    thanks
    Devaraju, Sushant
    "sushant" <[email protected]> wrote:
    >
    we are using wls 6.1 sp2. I am trying to bind tibco's jms connection
    factory
    and queue from a standalone client to weblogic's jndi tree so that apps
    on wls
    can lookup these object in wls jndi locally. I have included the required
    classes
    in the classpath for both the client and wls. I am able to bind the queue
    successfully
    and am able to use it successfully too, but I am not able to bind the
    tib's queue
    or topic connection factory. I am getting the following errors. I checked
    and
    double checked the classpath and
    Start server side stack trace:
    java.rmi.UnmarshalException: error unmarshalling arguments; nested exception
    is:
    java.io.InvalidClassException: com.tibco.tibjms.naming.TibjmsFederatedTopicConnectionFactory;
    InstantiationExcep
    tion
    java.io.InvalidClassException: com.tibco.tibjms.naming.TibjmsFederatedTopicConnectionFactory;
    InstantiationException
    at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:94)
    at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:123)
    at weblogic.jndi.internal.RootNamingNode_WLSkel.invoke(Unknown
    Source)
    at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
    at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93)
    at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
    at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    End server side stack trace
    ; nested exception is:
    java.io.InvalidClassException: com.tibco.tibjms.naming.TibjmsFederatedTopicConnectionFactory;
    com.tibco.tibjms.n
    aming.TibjmsFederatedTopicConnectionFactory; InstantiationException
    Start server side stack trace:
    java.io.InvalidClassException: com.tibco.tibjms.naming.TibjmsFederatedTopicConnectionFactory;
    InstantiationException
    at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:94)
    at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:123)
    at weblogic.jndi.internal.RootNamingNode_WLSkel.invoke(Unknown
    Source)
    at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
    at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93)
    at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
    at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    End server side stack trace
    java.io.InvalidClassException: com.tibco.tibjms.naming.TibjmsFederatedTopicConnectionFactory;
    com.tibco.tibjms.naming.Ti
    bjmsFederatedTopicConnectionFactory; InstantiationException
    Start server side stack trace:
    java.io.InvalidClassException: com.tibco.tibjms.naming.TibjmsFederatedTopicConnectionFactory;
    InstantiationException
    at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:94)
    at weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:123)
    at weblogic.jndi.internal.RootNamingNode_WLSkel.invoke(Unknown
    Source)
    at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
    at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93)
    at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
    at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    End server side stack trace
    <<no stack trace available>>
    anybody any ideas.
    I am also trying to bind the tib's jndi tree in wls jndi tree through
    a reference
    object and am passing a composite name for lookup. I am getting a cannotproceedexception.
    I wonder if the weblogic jndi can be federated.
    anybody any ideas or pointers
    thanks
    Devaraju, Sushant

  • View JMS messages wls 10.3

    Hello
    I m trying to view/delete jms messages in a queue in WLS 10.3. As Administrator user I m able to view/delete the messages but when logged as an user of Monitors group I m not even able to view the messages.
    Is there any other user group apart from Administrator which can view messages in WLS 10.3. Please help
    Thanks
    Kranthi

    Tom,
    You are correct, I m able to view messages as Monitors group ID even from Hermes.
    To check from console I had to update the weblogic.management.runtime.JMSDestinationRuntimeMBean security.
    Here the steps I got from support to enable operations on JMSDestinationruntime mbean:
    1.     In the left pane, select Security Realm.
    2.     Select “myrealm”.
    3.     In “Configuration” tab, check “Use Authorization Providers to Protect JMX Access”, click save and then activate changes.
    4.     Restart the server.
    5.     In the left pane, select Security Realm.
    6.     Select “myrealm”.
    7.     Go to “Users and Groups”.
    8.     In users, create a new user say “queueuser”, add it to group “Monitors”
    9.     Adding it to group “Monitors”:
    a.     Select “myrealm”.
    b.     Select “Users and Groups”.
    c.     Click on user name, in right pane select “Groups”.
    d.     From Parent Groups, select monitors, click arrow pointing right side.
    10.     Go to “Roles and Policies” - > Realm Policies
    11.     In Policy table, select “JMX Policy Editor”.
    12.     Select “Global Scope”, click next.
    13.     From MBean Types, select “weblogic.management.runtime”
    14.     Select “JMSDestinationRuntimeMBean”, click next.
    15.     In Attributes and Operations, select “Operations: Permission to Invoke”.
    16.     Click on “Create Policy” button and save
    17.     Click on “Add Condition”, Select “Group” in “Predicate List”, click next, type Monitors, say add. Click “Finish”.

  • Microsoft SQL Server JDBC driver and WLS JMS problem?

              Greetings,
              I'm using the Microsoft SQL Server JDBC driver with WLS with JMS
              persisted to SQL Server, during WLS startup the JMS attempts to
              read the JMSStore and JMSState tables in the db, if they are
              already present (say, from a previous run) the driver kicks out:
              java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]ResultSet can
              not re-read row data for column 1.
              If the tables are not present, then WLS creates them and
              everything proceeds fine. Now, its not a good thing to attempt
              to reread row data for a ResultSet, especially for portability. Why is WLS JMS
              doing this? is there some config I can use to adjust JMS startup behavior for
              persisted JMS stores?
              Jay Houghton
              Centiv
              [email protected]
              long exception trace follows:
              <Oct 1, 2002 8:29:11 AM EDT> <Info> <JMS> <User connection factory "BroadcastTopicFactory"
              is started.>
              <Oct 1, 2002 8:29:18 AM EDT> <Info> <JMS> <JMSServer "EnergizerJMSServer", Opening
              JDBC store tables "JMSStore
              " and "JMSState" using connection pool "JMSConnectionPool".>
              <Oct 1, 2002 8:29:20 AM EDT> <Alert> <JMS> <JMSServer "EnergizerJMSServer", store
              failed to open, java.io.IOEx
              ception: JMS JDBC store, connection pool = <JMSConnectionPool>, prefix = <null>:
              recover
              java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]ResultSet can
              not re-read row data for colum
              n 1.
              at com.microsoft.jdbc.base.BaseResultSet.getLong(Unknown Source)
              at com.microsoft.jdbc.base.BaseResultSet.getLong(Unknown Source)
              at weblogic.jdbc.pool.ResultSet.getLong(ResultSet.java:304)
              at weblogic.jms.store.JDBCIOStream.doRecover(JDBCIOStream.java:618)
              at weblogic.jms.store.JDBCIOStream.recover(JDBCIOStream.java:728)
              at weblogic.jms.store.JMSStore.recover(JMSStore.java:112)
              at weblogic.jms.backend.BEStore.open(BEStore.java:179)
              at weblogic.jms.backend.BackEnd.initialize(BackEnd.java:330)
              at weblogic.jms.JMSService.createBackEnd(JMSService.java:923)
              at weblogic.jms.JMSService.addJMSServer(JMSService.java:1277)
              at weblogic.jms.JMSService.addDeployment(JMSService.java:1174)
              at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:329)
              at weblogic.management.mbeans.custom.DeploymentTarget.addDeployments(DeploymentTarget.java:279)
              at weblogic.management.mbeans.custom.DeploymentTarget.updateServerDeployments(DeploymentTarget.java:23
              3)
              at weblogic.management.mbeans.custom.DeploymentTarget.updateDeployments(DeploymentTarget.java:193)
              at java.lang.reflect.Method.invoke(Native Method)
              at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:608)
              at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:592)
              at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:352)
              at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
              at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
              at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:449)
              at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:190)
              at $Proxy40.updateDeployments(Unknown Source)
              at weblogic.management.configuration.ServerMBean_CachingStub.updateDeployments(ServerMBean_CachingStub
              .java:2734)
              at weblogic.management.mbeans.custom.ApplicationManager.startConfigManager(ApplicationManager.java:362
              at weblogic.management.mbeans.custom.ApplicationManager.start(ApplicationManager.java:154)
              at java.lang.reflect.Method.invoke(Native Method)
              at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:608)
              at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:592)
              at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:352)
              at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
              at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
              at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:449)
              at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:190)
              at $Proxy57.start(Unknown Source)
              at weblogic.management.configuration.ApplicationManagerMBean_CachingStub.start(ApplicationManagerMBean
              _CachingStub.java:480)
              at weblogic.management.Admin.startApplicationManager(Admin.java:1151)
              at weblogic.management.Admin.finish(Admin.java:571)
              at weblogic.t3.srvr.T3Srvr.start(T3Srvr.java:508)
              at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:203)
              at weblogic.Server.main(Server.java:35)
              

              Tom,
              thanks for the info, I'll bring this to support.
              I did try the weblogic jDriver for SQL Server and it works fine, so i think it
              must be the way JMS is interacting with the MS driver.
              here are my components:
              WLS 6.1sp1
              Microsoft® SQL Server™ 2000 Driver for JDBC™ is a (Type 4 JDBC) which provides
              partial JDBC 2 support (no blobs, clobs, etc)
              MS SQL Server 2000 (sp2?)
              thanks!
              Jay Houghton
              [email protected]
              Tom Barnes <[email protected]> wrote:
              >Hi Jay,
              >
              >This is not a known issue at BEA as far as I know, perhaps it is the
              >result
              >of a new driver/database combination. Try using a different driver,
              >or a different
              >version of the current driver. Meanwhile, use a file store (just as
              >reliable but faster) and log a case with customer support, including
              >information on your version, service-pack, and what driver you are using.
              >
              >Tom, BEA
              >
              >Jay Houghton wrote:
              >
              >> Greetings,
              >>
              >> I'm using the Microsoft SQL Server JDBC driver with WLS with JMS
              >> persisted to SQL Server, during WLS startup the JMS attempts to
              >> read the JMSStore and JMSState tables in the db, if they are
              >> already present (say, from a previous run) the driver kicks out:
              >>
              >> java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]ResultSet
              >can
              >> not re-read row data for column 1.
              >>
              >> If the tables are not present, then WLS creates them and
              >> everything proceeds fine. Now, its not a good thing to attempt
              >> to reread row data for a ResultSet, especially for portability. Why
              >is WLS JMS
              >> doing this? is there some config I can use to adjust JMS startup behavior
              >for
              >> persisted JMS stores?
              >>
              >> Jay Houghton
              >> Centiv
              >> [email protected]
              >>
              >> long exception trace follows:
              >>
              >> <Oct 1, 2002 8:29:11 AM EDT> <Info> <JMS> <User connection factory
              >"BroadcastTopicFactory"
              >> is started.>
              >> <Oct 1, 2002 8:29:18 AM EDT> <Info> <JMS> <JMSServer "EnergizerJMSServer",
              >Opening
              >> JDBC store tables "JMSStore
              >> " and "JMSState" using connection pool "JMSConnectionPool".>
              >> <Oct 1, 2002 8:29:20 AM EDT> <Alert> <JMS> <JMSServer "EnergizerJMSServer",
              >store
              >> failed to open, java.io.IOEx
              >> ception: JMS JDBC store, connection pool = <JMSConnectionPool>, prefix
              >= <null>:
              >> recover
              >> java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]ResultSet
              >can
              >> not re-read row data for colum
              >> n 1.
              >> at com.microsoft.jdbc.base.BaseResultSet.getLong(Unknown Source)
              >> at com.microsoft.jdbc.base.BaseResultSet.getLong(Unknown Source)
              >> at weblogic.jdbc.pool.ResultSet.getLong(ResultSet.java:304)
              >> at weblogic.jms.store.JDBCIOStream.doRecover(JDBCIOStream.java:618)
              >> at weblogic.jms.store.JDBCIOStream.recover(JDBCIOStream.java:728)
              >> at weblogic.jms.store.JMSStore.recover(JMSStore.java:112)
              >> at weblogic.jms.backend.BEStore.open(BEStore.java:179)
              >> at weblogic.jms.backend.BackEnd.initialize(BackEnd.java:330)
              >> at weblogic.jms.JMSService.createBackEnd(JMSService.java:923)
              >> at weblogic.jms.JMSService.addJMSServer(JMSService.java:1277)
              >> at weblogic.jms.JMSService.addDeployment(JMSService.java:1174)
              >> at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:329)
              >> at weblogic.management.mbeans.custom.DeploymentTarget.addDeployments(DeploymentTarget.java:279)
              >> at weblogic.management.mbeans.custom.DeploymentTarget.updateServerDeployments(DeploymentTarget.java:23
              >> 3)
              >> at weblogic.management.mbeans.custom.DeploymentTarget.updateDeployments(DeploymentTarget.java:193)
              >> at java.lang.reflect.Method.invoke(Native Method)
              >> at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:608)
              >> at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:592)
              >> at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:352)
              >> at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
              >> at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
              >> at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:449)
              >> at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:190)
              >> at $Proxy40.updateDeployments(Unknown Source)
              >> at weblogic.management.configuration.ServerMBean_CachingStub.updateDeployments(ServerMBean_CachingStub
              >> java:2734)
              >> at weblogic.management.mbeans.custom.ApplicationManager.startConfigManager(ApplicationManager.java:362
              >> )
              >> at weblogic.management.mbeans.custom.ApplicationManager.start(ApplicationManager.java:154)
              >> at java.lang.reflect.Method.invoke(Native Method)
              >> at weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:608)
              >> at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:592)
              >> at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:352)
              >> at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
              >> at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
              >> at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:449)
              >> at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:190)
              >> at $Proxy57.start(Unknown Source)
              >> at weblogic.management.configuration.ApplicationManagerMBean_CachingStub.start(ApplicationManagerMBean
              >> _CachingStub.java:480)
              >> at weblogic.management.Admin.startApplicationManager(Admin.java:1151)
              >> at weblogic.management.Admin.finish(Admin.java:571)
              >> at weblogic.t3.srvr.T3Srvr.start(T3Srvr.java:508)
              >> at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:203)
              >> at weblogic.Server.main(Server.java:35)
              >
              

  • Convert JMS Headers from EBCDIC to ASCII when using JMS Bridge (WLS - WMQ)

    I have a Java app on Weblogic 11g using a Message Bridge to talk JMS with IBM Websphere MQ. The MQ server is running on IBM z/OS platform which uses EBCDIC encoding. I need to use the Weblogic message selector feature to filter messages on the bridge coming from Websphere MQ. But the JMS Headers of MSGs posted by WMQ are in EBCDIC format. How can I instruct MQ to convert the msg headers to ASCII before put on the bridge? Is there any flag on bindings config file? Or can I set some WMQ specific header before sending the msg on WLS side?
    Thanks in advance.

    Hi,
    Such option is not possible in weblogic but I think this property will help you with in MQ.
    Property - Convert EBCDIC newline
    Description - EBCDIC code pages contain a new line (NL) character that is not supported by the ASCII code pages (although some ISO variants of ASCII contain an equivalent). If messages are sent from a system that uses EBCDIC code pages (for example, a z/OS system) to a system that uses ASCII, you can control how the EBCDIC newline character is converted into ASCII format.
    The default value is NL_TO_LF, which means that the EBCDIC NL character (X'15') is converted to the ASCII line feed character LF (X'0A') for all EBCDIC to ASCII conversions. To convert the EBCDIC NL character according to the conversion tables on your operating system, click TABLE. Note that the results of a TABLE conversion can vary from platform to platform and from language to language; even on the same platform the results might vary if you use different coded character set identifiers (CCSIDs). To convert ISO CCSIDs using the TABLE method and use the NL_TO_LF method for all other CCSIDs, click ISO.
    Registry Stanza Key - ConvEBCDICNewline
    Also, the MQSeries (not MQSC) adapter provides the data conversion property may handle this conversion as well.
    Regards,
    Kal

Maybe you are looking for