Sybase - JDBC Persistent Store

Hi
I'm trying to setup Glassfish JMS to utilise a JDBC store (using Sybase)
I have set the required parameters in config.properties for the imqBroker instance. (including creating the Sybase DDL)
When I invoke imqdbmgr create tbl - all tables and indexes are created - but the process exits with an error. No details are displayed (even when using the -debug option) as to what the reason for failure is.
[11/Sep/2008:12:07:52 BST] Using plugged-in persistent store:
     version=410
     brokerid=imqBroker
     database connection url=jdbc:sybase:Tds:localhost:5000/openmq_store
     database user=jms_user
[11/Sep/2008:12:07:52 BST] Creating database table MQVER41SimqBroker ...
[11/Sep/2008:12:07:52 BST] Creating database table MQBKR41SimqBroker ...
[11/Sep/2008:12:07:53 BST] Creating database table MQSES41SimqBroker ...
[11/Sep/2008:12:07:53 BST] Creating database table MQPROP41SimqBroker ...
[11/Sep/2008:12:07:53 BST] Creating database table MQCREC41SimqBroker ...
[11/Sep/2008:12:07:53 BST] Creating database table MQCON41SimqBroker ...
[11/Sep/2008:12:07:53 BST] Creating database table MQCONSTATE41SimqBroker ...
[11/Sep/2008:12:07:53 BST] Creating database table index MQCONSTATE41SimqBrokerIDX1 ...
[11/Sep/2008:12:07:53 BST] Creating database table MQDST41SimqBroker ...
[11/Sep/2008:12:07:53 BST] Creating database table index MQDST41SimqBrokerIDX1 ...
[11/Sep/2008:12:07:53 BST] Creating database table MQMSG41SimqBroker ...
[11/Sep/2008:12:07:53 BST] Creating database table index MQMSG41SimqBrokerIDX1 ...
[11/Sep/2008:12:07:53 BST] Creating database table MQTXN41SimqBroker ...
[11/Sep/2008:12:07:53 BST] Creating database table index MQTXN41SimqBrokerIDX1 ...
[11/Sep/2008:12:07:53 BST] ERROR [B3073]: Failed to create database tables - jdbc:sybase:Tds:localhost:5000/openmq_store
com.sun.messaging.jmq.jmsserver.util.BrokerException: [B3073]: Failed to create
database tables - jdbc:sybase:Tds:localhost:5000/openmq_store
at com.sun.messaging.jmq.jmsserver.persist.jdbc.DBTool.doCreate(DBTool.j
ava:200)
at com.sun.messaging.jmq.jmsserver.persist.jdbc.DBTool.doCommand(DBTool.
java:1700)
at com.sun.messaging.jmq.jmsserver.persist.jdbc.DBTool.main(DBTool.java:
1749)
Any ideas on how I can troubleshoot further?
Thanks
Edited by: chivz on Sep 11, 2008 4:12 AM

Are there any errors in Sybase log ? From the error looks like it's failing while creating txn table which I think is using blobs.
Tom

Similar Messages

  • Unable to connect to JDBC Persistent Store

    - There are two managed server in a cluster on a WLS 9.2 MP2 and the version of database is 9..2.0.8
    - Trying to start managed server but getting java.lang.Assertion error.
    - Application also does not work.
    - Managed server 1 is not starting and throwing the java.lang.Assertion error.
    - It connects to a JDBC persistent store.
    - Managed server 2 starts perfectly and connects to it's own JDBC persistent store.
    - Both managed servers use the same Oracle Database 9.2.0.8.
    - There is different JDBC store for both the managed servers.
    - Each persistent store has its own separate table in the database
    ####<Jun 6, 2010 10:40:45 AM PDT> <Error> <Deployer> <emfd2> <WLISMMS1> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1275846045224> <BEA-149260> <A failure occurred during application startup.
    >
    Need Help!!
    >
    Edited by: user12941236 on Jun 10, 2010 7:10 AM
    Edited by: user12941236 on Jun 10, 2010 7:11 AM

    weblogic.application.ModuleException: ERROR: Could not activate EIJMSModule!ApplicationErrorQueue01
         at weblogic.jms.backend.BEDestinationRuntimeDelegate.activate(BEDestinationRuntimeDelegate.java:238)
         at weblogic.jms.module.JMSModule$EntityState.setState(JMSModule.java:1717)
         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.activate(JMSModule.java:332)
         at weblogic.jms.module.ModuleCoordinator.activate(ModuleCoordinator.java:179)
         at weblogic.application.internal.flow.ModuleListenerInvoker.activate(ModuleListenerInvoker.java:107)
         at weblogic.application.internal.flow.DeploymentCallbackFlow$2.next(DeploymentCallbackFlow.java:381)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
         at weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:71)
         at weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:63)
         at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:635)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
         at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212)
         at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:154)
         at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:80)
         at weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicDeployment.java:181)
         at weblogic.deploy.internal.targetserver.BasicDeployment.activateFromServerLifecycle(BasicDeployment.java:358)
         at weblogic.management.deploy.internal.DeploymentAdapter$1.doPrepare(DeploymentAdapter.java:42)
         at weblogic.management.deploy.internal.DeploymentAdapter.prepare(DeploymentAdapter.java:177)
         at weblogic.management.deploy.internal.AppTransition$1.transitionApp(AppTransition.java:21)
         at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:233)
         at weblogic.management.deploy.internal.ConfiguredDeployments.prepare(ConfiguredDeployments.java:165)
         at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:122)
         at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:173)
         at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:89)
         at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
    weblogic.messaging.kernel.KernelException: The Messaging Kernel EIJMSServer01 has not yet been opened
         at weblogic.messaging.kernel.internal.KernelImpl.checkOpened(KernelImpl.java:191)
         at weblogic.messaging.kernel.internal.DestinationImpl.activate(DestinationImpl.java:279)
         at weblogic.messaging.kernel.internal.QueueImpl.activate(QueueImpl.java:1629)
         at weblogic.messaging.kernel.internal.DestinationImpl.resume(DestinationImpl.java:263)
         at weblogic.messaging.kernel.internal.QueueImpl.resume(QueueImpl.java:1805)
         at weblogic.jms.backend.BEDestinationImpl.start(BEDestinationImpl.java:604)
         at weblogic.jms.backend.BEDestinationRuntimeDelegate.activate(BEDestinationRuntimeDelegate.java:235)
         at weblogic.jms.module.JMSModule$EntityState.setState(JMSModule.java:1717)
         at weblogic.jms.module.JMSModule$EntityState.setState(JMSModule.java:1667)

  • JDBC Persistent Store Exceptions Table needs to be renamed

    we are facing a situation almost every week in production. The only workaround is to rename the table everytime an boune the Weblogic. Oracle recommended to increase the statement timeout. Not sure if that will work.
    Can anyone provide what is the reason behind this. As there is only admin server in this domain with single JMS Server and JDBC Store. So not sure how the ownership is lost. Any help is appreciated .
    ####<Dec 25, 2010 4:32:01 AM IST> <Error> <Store> <gnnosm21> <OSMServer> <[ACTIVE] ExecuteThread: '65' for queue: 'weblogi
    c.kernel.Default (self-tuning)'> <<WLS Kernel>> <1293231721099> <BEA-280075> <JDBC store "oms_jms_store" failed to r
    etain ownership of database table "OM_BEAWLStore", either due to database access problems or due to concurrent accessors o
    f the table. See the linked exception for more information.
    weblogic.store.io.jdbc.JDBCStoreException: [Store:280065]java.sql.SQLException: ORA-01013: user requested cancel of curren
    t operation
    (server="OSMServer" store="oms_jms_store" table="OM_BEAWLStore"):(Linked Cause, "java.sql.SQLException: ORA-01013: user r
    equested cancel of current operation
    at weblogic.store.io.jdbc.JDBCStoreIO.readTableLockRecord(JDBCStoreIO.java:2078)
    at weblogic.store.io.jdbc.JDBCStoreIO.updateTableOwnership(JDBCStoreIO.java:2105)
    at weblogic.store.io.jdbc.ReservedConnection.timerExpired(ReservedConnection.java:436)
    at weblogic.timers.internal.TimerImpl.run(TimerImpl.java:265)
    at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
    java.sql.SQLException: ORA-01013: user requested cancel of current operation
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
    at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
    at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216)
    at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:955)
    at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1060)
    at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:839)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1124)
    at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3316)
    at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3361)
    at weblogic.jdbc.wrapper.PreparedStatement.executeQuery(PreparedStatement.java:100)
    at weblogic.store.io.jdbc.JDBCStoreIO.internalRead(JDBCStoreIO.java:721)
    at weblogic.store.io.jdbc.JDBCStoreIO.readTableLockRecord(JDBCStoreIO.java:2066)
    at weblogic.store.io.jdbc.JDBCStoreIO.updateTableOwnership(JDBCStoreIO.java:2105)
    at weblogic.store.io.jdbc.ReservedConnection.timerExpired(ReservedConnection.java:436)
    at weblogic.timers.internal.TimerImpl.run(TimerImpl.java:265)
    at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)

    Hi,
    You didnot mention what is that everytime you mean in your question....
    Did you check is there any other user also using the same database table "OM_BEAWLStore" from your development environment connecting with the same JMS persistance store?

  • No persistent store with the logical name could be found on the server

    Weblogic 10.3.6 standalone server (no cluster).
    I want to move ejb timers persistence from the default store to DB.
    I created a new data source, non-XA, global transactions not supported, targeted to my managed server. Tested configuratiion against DB: OK.
    I created a JDBC persistent store (type JDBCStore), attached it to data source, targeted to my managed server, committed changes OK.
    In my application, TimedObject is implemented by a Stateless Session bean.
    I modified the weblogic-ejb-jar.xml descriptor for my SLSB specifying the persistence store name:
    <stateless-session-descriptor>
                <timer-descriptor>
                    <persistent-store-logical-name>MyStore</persistent-store-logical-name>
                </timer-descriptor>
    When I deploy my application, I get the following error
    [EJB:011112]Error initializing the EJB Timer store for the EJB '...' The weblogic-ejb-jar.xml deployment descriptor or annotation for this EJB contains a persistent-store-logical-name setting but no persistent store with the logical name 'MyStore' could be found on the server 'yyyy'.
    Why ?

    Hi JB,
    The OTM schema has been created on an external database and not on the embedded XE database. Using 'Oracle Application Testing Database Configuration' we were able to successfully configure the said DB. We are able to use OTM through the 'Oracle Test Manager - Win32 Client' also. We are being held up by the above error when we attempt to deploy and use the server based OTM application.
    Do we need to configure the above Schema under the Weblogic console also?
    Regards,
    Aniket.

  • EJB timer info in persistent store

    Is it possiblle to configure WL 10.3.5 so that ejb timer information is stored into JDBC persistent store instead of the default file store?
    Where can I find documentation about that ?
    Or is it allowed in cluster configurations only ?
    Thanks

    Is it possiblle to configure WL 10.3.5 so that ejb timer information is stored into JDBC persistent store instead of the default file store?
    Where can I find documentation about that ?
    Or is it allowed in cluster configurations only ?
    Thanks

  • Metrics vs plugged-in persistent store

    Hello. I'm running IMQ3.5sp1 on Linux with java 1.4.2_04.
    I'm using the plugged-in persistent store.
    I get this error in the broker log when I try to run the default metrics (ttl) on a Topic: I'm concerned it may point to a bug:ERROR [B3100]: Unexpected Broker Internal Error : [unable to disk usage for destinationFlowEvent [Topic]] :
    com.sun.messaging.jmq.jmsserver.util.BrokerException: The operation does not apply to plugged-in persistent store.

    I guess, it is a known bug in 3.5 SP1
    The bug given below is in the 3.5SP1 release notes.
    =====================
    4950601
    imqcmd metrics dst triggers broker internal error to be printed when using the JDBC persistent store.
    Disk usage metrics information applies to file store only. However, when metrics information is retrieved, the broker will try to get the disk usage information regardless of the store type. If a database is used instead of the file store, the following error message will be printed by the broker:
    06/Nov/2003:22:57:36 PST] ERROR [B3100]: Unexpected Broker Internal
    Error : [unable to disk usage for destinationT:topic1] :
    com.sun.messaging.jmq.jmsserver.util.BrokerException:
    The operation does not apply to plugged-in persistent store.
    Workaround: None
    ============
    Sagar

  • Persistent Store Problems for MYSQL Enhanced Cluster With OpenMQ 4.4

    I am trying to implement an enhanced cluster with failover. I have edited the config files for each broker instance for a persistent store. I have appended the following to each of the config.properties files:
    imq.brokerid=myclusterinstanceINSTANCE1 # I substitute INSTANCE2 for INSTANCE1 for broker #2
    imq.persist.store=jdbc
    imq.persist.jdbc.dbVendor=mysql
    imq.persist.jdbc.mysql.property.url=jdbc:mysql://xxx.xxx.xxx.xx:3306/test
    imq.persist.jdbc.mysql.user=user1
    imq.persist.jdbc.mysql.needpassword=true
    imq.persist.jdbc.mysql.password=mypass
    imq.cluster.ha=true
    imq.cluster.clusterid=mycluster
    imq.cluster.brokerlist=xxx.xxx.xxx.x:37676,yyy.yyy.yyy.y:37676
    I then create the persistence storage with "imqdbmgr create tbl". When I view the data in the tables it creates, I have one row. Under Store_Version, I have 410. Under LOCK_ID, it has NULL. When I go to start the brokers with imqbrokerd, I get the following error:
    ERROR [B3198]: Error initializing cluster manager:
    com.sun.messaging.jmq.jmsserver.util.BrokerException: [B4239]: Failed to load persistent store version from database table MQVER41Cmycluster
    at com.sun.messaging.jmq.jmsserver.persist.jdbc.VersionDAOImpl.getStoreVersion(VersionDAOImpl.java:310)
    at com.sun.messaging.jmq.jmsserver.persist.jdbc.DBTool.updateStoreVersion410IfNecessary(DBTool.java:350)
    at com.sun.messaging.jmq.jmsserver.persist.jdbc.JDBCStore.checkStore(JDBCStore.java:3599)
    at com.sun.messaging.jmq.jmsserver.persist.jdbc.JDBCStore.<init>(JDBCStore.java:127)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at java.lang.Class.newInstance0(Class.java:355)
    at java.lang.Class.newInstance(Class.java:308)
    at com.sun.messaging.jmq.jmsserver.persist.StoreManager.getStore(StoreManager.java:157)
    at com.sun.messaging.jmq.jmsserver.Globals.getStore(Globals.java:967)
    at com.sun.messaging.jmq.jmsserver.cluster.ha.HAClusterManagerImpl.initialize(HAClusterManagerImpl.java:181)
    at com.sun.messaging.jmq.jmsserver.Globals.initClusterManager(Globals.java:903)
    at com.sun.messaging.jmq.jmsserver.Broker._start(Broker.java:777)
    at com.sun.messaging.jmq.jmsserver.Broker.start(Broker.java:410)
    at com.sun.messaging.jmq.jmsserver.Broker.main(Broker.java:1971)
    Caused by: java.lang.NullPointerException
    at com.mysql.jdbc.ResultSetImpl.findColumn(ResultSetImpl.java:1103)
    at com.mysql.jdbc.ResultSetImpl.getInt(ResultSetImpl.java:2777)
    at com.sun.messaging.jmq.jmsserver.persist.jdbc.VersionDAOImpl.getStoreVersion(VersionDAOImpl.java:298)
    ... 16 more
    I believe this error is attributed to the NULL value under LOCK_ID. I think that the value under LOCK_ID should be the name of the broker from the config file (even though I specified them in the config files). Any ideas?? THANKS!

    Just some pointers -- maybe this will be of use:
    If you haven't already read it, please take a look at the [ MySQL setup guide|https://mq.dev.java.net/OpenMQ_MySQLCluster_Setup_Guide.html] .
    We recommend using NDB Data-store of MySQL Cluster, though this isn't an absolute requirement. Due to some issues we have found with earlier versions, we recommend using MySQL Cluster, 7.0.9 or better (the current version is 7.0.16, or 7.1.5). Either of these would contain Connector/J.
    I'd also recommend using the latest version -- MQ 4.4update2 (just in case you happen to have an older copy). There were many minor improvements in the integration with MySQL from the original 4.4 release, to update 2. This is linked at the MQ download page: [https://mq.dev.java.net/downloads.html]

  • Unable to get the dataSources while creating the persistent stores.

    Hi, While I am trying to create a persistent store (JDBC Store) I am unable to see the already created DataSources in the dropdown menu. I also tried creating new DataSource from Persistent Store creating screen but still could not see.
    Following steps followed while creating DataSource.
    Fill in the values for
    Name, E.g.: JD-JDBC-Store.
    JNDI Name – jdbc/JobDispatcherDS.
    DatabaseType – Oracle
    Database Driver - Retain the default selection
    Click on ‘Next’
    Click on ‘Next’
    Fill in values for:
    Database Name – SID of the Database
    Host Name – The hostname/IP on which the Database is running
    Port – DB Port
    Database User Name - JOBUSER.
    Password – JOBUSER
    Click on ‘Next’
    Click on ‘Test Configuration’ to ensure the correctness of the values. Got a success message on the screen.
    Click on ‘Next’
    Select your target server. E.g.: AdminServer
    Click on ‘Finish’
    Following steps while creating the Persistent Store
    Clicked on New button. Select ‘Create New JDBC Store’ Option
    Fill in the values.
    name – E.g.: JD-JDBC-Store
    Target server - admin Server.
    data source - not able to get any to select from the DropDown.
    Thank You,
    Naresh.

    Dear Rajesh ,
    I am assuming your server is on Windows  :
    For Eg.
    My SID is PRD and system number 02 and hostname prdserver then command should be execute like : 
    E:\usr\sap\PRD\DVEBMGS02\exe>jcmon pf=E:\usr\sap\PRD\SYS\profile\PRD_DVEBMGS02_prdserver
    Rest all are same :
    In JControl Monitor Program - Main Menu :
    Select : 20 : Local Administration Menu
    And check the status of server0 process it shoud be up and running .
    Regards ,
    Santosh

  • The persistent store record 6,810 could not be found

    Under heavy load, we get an exception stack trace in the log, that says that an expired message could not be deleted. This message is repeated every 15-30 minutes for other records. 5 hours later, it says that a thread is stuck and the server is blocked.
              What to do?
              We use Weblogic 9.2 MP2
              Thanks, Peter
              <Dec 17, 2007 7:19:48 PM MET> <Warning> <Messaging> <BEA-282006> <An error occurred while deleting an expired message for the messaging kernel datadispatcher-2/WeblogicJmsDistributedTopic@Remote@DataDispatc
              her JMS Module!datadispatcher-3@HandlerTopic@Local@DataDispatcher JMS Module!datadispatcher-2@HandlerTopic: weblogic.store.PersistentStoreException: [Store:280029]The persistent store record 6,810 could not
              be found
              weblogic.store.PersistentStoreException: [Store:280029]The persistent store record 6,810 could not be found
              at weblogic.store.internal.DeleteRequest.coalesce(DeleteRequest.java:55)
              at weblogic.store.internal.PersistentStoreImpl.coalesceRequests(PersistentStoreImpl.java:510)
              at weblogic.store.internal.PersistentStoreImpl.getOutstandingWork(PersistentStoreImpl.java:613)
              at weblogic.store.internal.PersistentStoreImpl.run(PersistentStoreImpl.java:621)
              at java.lang.Thread.run(Thread.java:595)
              >
              <Dec 17, 2007 7:19:48 PM MET> <Warning> <Messaging> <BEA-282006> <An error occurred while deleting an expired message for the messaging kernel datadispatcher-2/WeblogicJmsDistributedTopic@Remote@DataDispatc
              her JMS Module!datadispatcher-4@HandlerTopic@Local@DataDispatcher JMS Module!datadispatcher-2@HandlerTopic: weblogic.store.PersistentStoreException: [Store:280029]The persistent store record 6,810 could not
              be found
              weblogic.store.PersistentStoreException: [Store:280029]The persistent store record 6,810 could not be found
              at weblogic.store.internal.DeleteRequest.coalesce(DeleteRequest.java:55)
              at weblogic.store.internal.PersistentStoreImpl.coalesceRequests(PersistentStoreImpl.java:510)
              at weblogic.store.internal.PersistentStoreImpl.getOutstandingWork(PersistentStoreImpl.java:613)
              at weblogic.store.internal.PersistentStoreImpl.run(PersistentStoreImpl.java:621)
              at java.lang.Thread.run(Thread.java:595)
              >
              <Dec 17, 2007 7:19:48 PM MET> <Error> <Store> <BEA-280074> <The persistent store "datadispatcher-fs-2" encountered an unresolvable failure while processing transaction "BEA1-0A0CD965B4DAECF2346C". Shutdown
              and restart to resolve this transaction. weblogic.store.gxa.GXAException: weblogic.store.PersistentStoreException: weblogic.store.PersistentStoreException: [Store:280029]The persistent store record 6,810 co
              uld not be found
              weblogic.store.gxa.GXAException: weblogic.store.PersistentStoreException: weblogic.store.PersistentStoreException: [Store:280029]The persistent store record 6,810 could not be found
              at weblogic.store.gxa.internal.GXAResourceImpl.registerFailedTransaction(GXAResourceImpl.java:597)
              at weblogic.store.gxa.internal.GXATransactionImpl.doOperationCallbacks(GXATransactionImpl.java:243)
              at weblogic.store.gxa.internal.GXAResourceImpl.commit(GXAResourceImpl.java:1451)
              at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:1333)
              at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:577)
              at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.java:486)
              at weblogic.transaction.internal.ServerTransactionImpl.localCommit(ServerTransactionImpl.java:1993)
              at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit(ServerTransactionImpl.java:2658)
              at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(ServerTransactionImpl.java:2580)
              at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:278)
              at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:227)
              at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:463)
              at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:335)
              at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:291)
              at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4072)
              at weblogic.jms.client.JMSSession.execute(JMSSession.java:3962)
              at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:4490)
              at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
              at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
              at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
              weblogic.store.PersistentStoreException: weblogic.store.PersistentStoreException: [Store:280029]The persistent store record 6,810 could not be found
              at weblogic.store.gxa.internal.GXATransactionImpl.commitStoreIO(GXATransactionImpl.java:103)
              at weblogic.store.gxa.internal.GXATransactionImpl.doOperationCallbacks(GXATransactionImpl.java:215)
              at weblogic.store.gxa.internal.GXAResourceImpl.commit(GXAResourceImpl.java:1451)
              at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:1333)
              at weblogic.transaction.internal.XAServerResourceInfo.commit(XAServerResourceInfo.java:577)
              at weblogic.transaction.internal.ServerSCInfo.startCommit(ServerSCInfo.java:486)
              at weblogic.transaction.internal.ServerTransactionImpl.localCommit(ServerTransactionImpl.java:1993)
              at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit(ServerTransactionImpl.java:2658)
              at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(ServerTransactionImpl.java:2580)
              at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:278)
              at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:227)
              at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:463)
              at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:335)
              at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:291)
              at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4072)
              at weblogic.jms.client.JMSSession.execute(JMSSession.java:3962)
              at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:4490)
              at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
              at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
              at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
              weblogic.store.PersistentStoreException: [Store:280029]The persistent store record 6,810 could not be found
              at weblogic.store.internal.DeleteRequest.coalesce(DeleteRequest.java:55)
              at weblogic.store.internal.PersistentStoreImpl.coalesceRequests(PersistentStoreImpl.java:510)
              at weblogic.store.internal.PersistentStoreImpl.getOutstandingWork(PersistentStoreImpl.java:613)
              at weblogic.store.internal.PersistentStoreImpl.run(PersistentStoreImpl.java:621)
              at java.lang.Thread.run(Thread.java:595)
              >
              <Dec 17, 2007 7:19:48 PM MET> <Error> <EJB> <BEA-010026> <Exception occurred during commit of transaction Xid=BEA1-0A0DD965B4DAECF2346C(14187897),Status=Rolled back. [Reason=javax.transaction.xa.XAException
              ],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=0,seconds left=60,XAServerResourceInfo[WLStore_deplDomain_datadispatcher-fs-2]=(ServerResourceInfo[WLStore_deplDomain_datadispatcher-fs-2]=(st
              ate=rolledback,assigned=deplMan2),xar=WLStore_deplDomain_datadispatcher-fs-25927290,re-Registered = false),XAServerResourceInfo[datadispatcher-multipool]=(ServerResourceInfo[datadispatcher-multipool]=(state
              =rolledback,assigned=deplMan2),xar=datadispatcher-multipool,re-Registered = false),SCInfo[deplDomain+deplMan2]=(state=rolledback),local properties=({weblogic.jdbc.jta.datadispatcher-multipool=[ No XAConnect
              ion is attached to this TxInfo ]}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=deplMan2+141.249.2.220:28200+deplDomain+t3+, XAResources={NetworkControl, WeblogicTimerService
              , datadispatcher-xa-standby, datadispatcher-multipool, WLStore_deplDomain_datadispatcher-fs-2, datadispatcher-xa-active},NonXAResources={})],CoordinatorURL=deplMan2+141.249.2.220:28200+deplDomain+t3+): webl
              ogic.transaction.RollbackException: Could not prepare resource 'WLStore_deplDomain_datadispatcher-fs-2
              at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1809)
              at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:331)
              at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:227)
              at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:463)
              at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:335)
              at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:291)
              at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4072)
              at weblogic.jms.client.JMSSession.execute(JMSSession.java:3962)
              at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:4490)
              at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
              at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
              at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
              <Dec 18, 2007 12:33:44 AM MET> <Error> <WebLogicServer> <BEA-000337> <[STUCK] ExecuteThread: '8' for queue: 'weblogic.kernel.Default (self-tuning)' has been busy for "643" seconds working on the request "we
              blogic.work.ServerWorkManagerImpl$WorkAdapterImpl@7aca93", which is more than the configured time (StuckThreadMaxTime) of "600" seconds. Stack trace:
              sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              java.lang.reflect.Method.invoke(Method.java:585)
              net.sf.hibernate.property.BasicPropertyAccessor$BasicGetter.get(BasicPropertyAccessor.java:96)
              net.sf.hibernate.persister.AbstractEntityPersister.getIdentifier(AbstractEntityPersister.java:306)
              net.sf.hibernate.impl.SessionImpl.checkId(SessionImpl.java:2636)
              net.sf.hibernate.impl.SessionImpl.flushEntity(SessionImpl.java:2461)
              net.sf.hibernate.impl.SessionImpl.flushEntities(SessionImpl.java:2454)
              net.sf.hibernate.impl.SessionImpl.flushEverything(SessionImpl.java:2256)
              net.sf.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:1801)
              net.sf.hibernate.impl.SessionImpl.getQueries(SessionImpl.java:1567)
              net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1532)
              net.sf.hibernate.impl.QueryImpl.list(QueryImpl.java:39)
              ch.meteoswiss.datadispatcher.model.dao.TimedMessageDAO.findByMeteodata(TimedMessageDAO.java:232)
              ch.meteoswiss.datadispatcher.model.dao.TimedMessageDAO.deleteByMeteodata(TimedMessageDAO.java:263)
              ch.meteoswiss.datadispatcher.model.dao.MeteodataDAO.delete(MeteodataDAO.java:482)
              ch.meteoswiss.datadispatcher.model.base.BaseMeteodataDAO.delete(BaseMeteodataDAO.java:194)
              ch.meteoswiss.datadispatcher.model.dao.MeteodataDAO.deleteOutdated(MeteodataDAO.java:432)
              ch.meteoswiss.datadispatcher.timed.CleanUpListener.deleteOutdatedMeteodataEntries(CleanUpListener.java:88)
              ch.meteoswiss.datadispatcher.timed.CleanUpListener.handleNotification(CleanUpListener.java:141)
              weblogic.management.timer.TimerListener$1.run(TimerListener.java:48)
              weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
              weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
              weblogic.management.timer.TimerListener.deliverNotification(TimerListener.java:44)
              weblogic.management.timer.Timer.deliverNotifications(Timer.java:440)
              weblogic.management.timer.TimerNotification$1.run(TimerNotification.java:124)
              weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
              weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
              weblogic.management.timer.TimerNotification.timerExpired(TimerNotification.java:121)
              weblogic.timers.internal.TimerImpl.run(TimerImpl.java:265)
              weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
              weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
              weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
              >

    Please find below an extract of the Java trace (kill -3 on Unix):
              "[STUCK] ExecuteThread: '12' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=1 tid=0x00440ef8 nid=0x34 in Object.wait() [0x85800000..0x85801808]
              at java.lang.Object.wait(Native Method)
              at java.lang.Object.wait(Object.java:474)
              at weblogic.messaging.dispatcher.Request.sleepTillNotified(Request.java:324)
              at weblogic.messaging.dispatcher.Request.wrappedFiniteStateMachine(Request.java:801)
              - locked <0xb3288670> (a weblogic.jms.backend.BEProducerSendRequest)
              at weblogic.messaging.dispatcher.DispatcherImpl.dispatchAsyncInternal(DispatcherImpl.java:129)
              at weblogic.messaging.dispatcher.DispatcherImpl.dispatchAsync(DispatcherImpl.java:112)
              at weblogic.messaging.dispatcher.Request.dispatchAsync(Request.java:1046)
              at weblogic.jms.dispatcher.Request.dispatchAsync(Request.java:72)
              at weblogic.jms.frontend.FEProducer.doDispatch(FEProducer.java:880)
              at weblogic.jms.frontend.FEProducer.sendRetryDestination(FEProducer.java:1010)
              at weblogic.jms.frontend.FEProducer.send(FEProducer.java:1383)
              at weblogic.jms.frontend.FEProducer.invoke(FEProducer.java:1444)
              at weblogic.messaging.dispatcher.Request.wrappedFiniteStateMachine(Request.java:759)
              at weblogic.messaging.dispatcher.DispatcherImpl.dispatchSyncNoTran(DispatcherImpl.java:246)
              at weblogic.jms.dispatcher.DispatcherAdapter.dispatchSyncNoTran(DispatcherAdapter.java:59)
              at weblogic.jms.client.JMSProducer.toFEProducer(JMSProducer.java:1061)
              at weblogic.jms.client.JMSProducer.deliveryInternal(JMSProducer.java:670)
              at weblogic.jms.client.JMSProducer.sendInternal(JMSProducer.java:455)
              at weblogic.jms.client.JMSProducer.send(JMSProducer.java:337)
              at weblogic.jms.client.WLProducerImpl.send(WLProducerImpl.java:966)
              at ch.meteoswiss.datadispatcher.receiver.ReceiverServlet.sendJMSMessage(ReceiverServlet.java:255)
              at ch.meteoswiss.datadispatcher.receiver.ReceiverServlet.doProcess(ReceiverServlet.java:320)
              at ch.meteoswiss.datadispatcher.receiver.ReceiverServlet.doPost(ReceiverServlet.java:297)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
              at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
              at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
              at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
              at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
              at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3231)
              at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
              at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
              at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2002)
              at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1908)
              at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1362)
              at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
              at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
              The method in ReceiverServlet:
                        private static void sendJMSMessage(MeteodataTransfer data) throws NamingException, JMSException {
                      QueueConnection queueConnection = null;
                      QueueSession jmsSession = null;
                      QueueSender jmsSender = null;
                      try {
                          final ServiceLocator initial = ServiceLocator.getInstance();
                          final QueueConnectionFactory factory = (QueueConnectionFactory)initial.lookup(ServiceLocator.CONNECTION_FACTORY); //"java:comp/env/jms/QUEUEFACTORY");
                          final Queue queue = (Queue)initial.lookup("java:comp/env/jms/"+data.getSubscriber().getOutputQueueTx().toUpperCase());
                          queueConnection = factory.createQueueConnection();
                          jmsSession = queueConnection.createQueueSession(false,Session.AUTO_ACKNOWLEDGE);
                          jmsSender = jmsSession.createSender(queue);
                          final ObjectMessage msg = jmsSession.createObjectMessage();
                          msg.setJMSExpiration(...);
                          msg.setObject(data);
                          jmsSender.send(msg); // LINE 255!!! STUCK!!!
                      } finally {
                          JmsUtil.closeQuietly(jmsSender);
                          JmsUtil.closeQuietly(jmsSession);
                          JmsUtil.closeQuietly(queueConnection);
              

  • JDBC Persistence Store: How to

    I need to create a JMS JDBC Store in WLS9.1 which will enable me to store XML SOAP messages in SQL Server table. At the moment I intend to persist the messages as is into the JDBC store. I thinking of having the DBA to create a table with single attribute (that will hold more than 5000 bytes). Please advice if there is better startegy storing these WebService messages. I do not want store the messages in the FileStore.
              Sample Message
              <?xml version="1.0" encoding="UTF-8"?>
              <m:SubmitRequest xmlns:m="http://usgs.med.eai.eds.com/provenroll" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><eds:Provider transactionID="399" transactionCode="A" providerID="3753136" partyName="Lyle" firstName="Theodore" middleName="d" xmlns:eds="http://EDS.USGS.MED.EAI.PE.InitEnrolSchemas.PE_InboundEnrolRequest_XML_V1"><reviewType beginDate="20060906" endDate="20060921"><reviewTypeCode/></reviewType><demographic SSN="4553325554" DOB="19760000" gender="M"/><addressPhone handicapAccessible="Yes" fax="8405612315" emailAddress="[email protected]"><address street1="23978 Hospice Way" city="Richmond" stateCode="VA" zipCode="23448" zipCodePlus4="23228"/><phone phone="8059551531" phoneExt="8055551531"/></addressPhone><license licenseNumber="123344" beginDate="20060905" endDate="20070906" stateissue="VA"/><license licenseNumber="2355231" beginDate="20060912" taxonomyCode="745226" beginDate="0"/></eds:Provider><AuditTrialStatus>Prov Enroll Request Submitted to Business Service </AuditTrialStatus><AuditTrialTime>09:57:16.640-07:00</AuditTrialTime><AuditTrialDate>2006-10-26-07:00</AuditTrialDate><AuditTrialCorrelationID providerID="3654436"/></m:SubmitRequest>
              Please advice on how I can specify the required table.
              Krishna
              Krish

    Tom
              Let me briefly what I did:
              1. Created X_DataSource and connection test was successful.
              2. Created JDBCStore and targeted to X_DataSource
              3. Prefix Name : [[PM.]dbo.]PMStore or [[[PM.]dbo.]PMStore], as per documentation [[[catalog.]schema.]prefix] no prefix part is provided in this case. PMStore is the table predefined on the database.
              I tried all permutation and the error I am getting is failed to open the database table. Please advise.
              <Nov 17, 2006 10:26:17 AM EST> <Error> <Store> <BEA-280072> <JDBC store "PM-JDBCStore" failed to open table "[[[PM.]dbo.]PMStoreWLStore".
              weblogic.store.io.jdbc.JDBCStoreException: [Store:280065][Store:280068]JDBC store failed to initiali
              ze. It did not find its database table and failed trying to create a new empty table using the comma
              nds in file "/weblogic/store/io/jdbc/ddl/mssql.ddl". (server="AdminServer" store="PM-JDBCStore" tabl
              e="[[[PM.]dbo.]PMStoreWLStore"):(Linked Cause, "java.sql.SQLException: [BEA][SQLSer
              ver JDBC Driver][SQLServer]Incorrect syntax near 'dbo'.")
              Krish

  • JMS Server and MySQL Persistent Store

              I set up a JDBC connection pool in Weblogic 8.1 with MySQL dbms. When I tried to
              create a JMS server and use the connection pool as the Persistent Store, then
              try to target the JMS to a managed server. I got the following error, any idea
              what the problem is?
              weblogic.management.DistributedManagementException: Distributed Management [1
              exceptions]
              JMS JDBC store, connection pool = , prefix = : unsupported DBMS
                   at weblogic.management.internal.ConfigurationMBeanImpl.updateConfigMBeans(ConfigurationMBeanImpl.java:1133)
                   at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:462)
                   at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
                   at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
                   at weblogic.management.internal.RemoteMBeanServerImpl.invoke(RemoteMBeanServerImpl.java:765)
                   at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:946)
                   at weblogic.management.internal.MBeanProxy.invokeForCachingStub(MBeanProxy.java:481)
                   at weblogic.management.configuration.ServerMBean_Stub.addDeployment(ServerMBean_Stub.java:7929)
                   at weblogic.management.internal.DynamicMBeanImpl.unprotectedUpdateDeployments(DynamicMBeanImpl.java:1795)
                   at weblogic.management.internal.DynamicMBeanImpl.access$100(DynamicMBeanImpl.java:95)
                   at weblogic.management.internal.DynamicMBeanImpl$2.run(DynamicMBeanImpl.java:1708)
                   at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
                   at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
                   at weblogic.management.internal.DynamicMBeanImpl.updateDeployments(DynamicMBeanImpl.java:1704)
                   at weblogic.management.internal.DynamicMBeanImpl.setAttribute(DynamicMBeanImpl.java:1128)
                   at weblogic.management.internal.ConfigurationMBeanImpl.setAttribute(ConfigurationMBeanImpl.java:311)
                   at com.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.java:1358)
                   at com.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.java:1333)
                   at weblogic.management.internal.RemoteMBeanServerImpl.setAttribute(RemoteMBeanServerImpl.java:367)
                   at weblogic.management.internal.MBeanProxy.setAttribute(MBeanProxy.java:741)
                   at weblogic.management.internal.MBeanProxy.invokeForCachingStub(MBeanProxy.java:475)
                   at weblogic.management.configuration.JMSServerMBean_Stub.setTargets(JMSServerMBean_Stub.java:1247)
                   at weblogic.management.console.webapp._domain.__jmsserver$ServerAndMigratableTargetAttribute.doSet(__jmsserver.java:109)
                   at weblogic.management.console.actions.mbean.DoEditMBeanAction.perform(DoEditMBeanAction.java:256)
                   at weblogic.management.console.actions.internal.ActionServlet.doAction(ActionServlet.java:173)
                   at weblogic.management.console.actions.internal.ActionServlet.doPost(ActionServlet.java:85)
                   at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
                   at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
                   at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1053)
                   at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:387)
                   at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
                   at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6310)
                   at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
                   at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
                   at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3622)
                   at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2569)
                   at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
                   at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
              java.io.IOException: JMS JDBC store, connection pool = , prefix = : unsupported
              DBMS
                   at weblogic.jms.store.JDBCIOStream.throwIOException(JDBCIOStream.java:359)
                   at weblogic.jms.store.JDBCIOStream.rebuildTables(JDBCIOStream.java:1613)
                   at weblogic.jms.store.JDBCIOStream.open(JDBCIOStream.java:426)
                   at weblogic.jms.store.JMSStore.open(JMSStore.java:224)
                   at weblogic.jms.backend.BEStore.open(BEStore.java:262)
                   at weblogic.jms.backend.BEStore.start(BEStore.java:151)
                   at weblogic.jms.backend.BackEnd.openStores(BackEnd.java:1171)
                   at weblogic.jms.backend.BackEnd.resume(BackEnd.java:1287)
                   at weblogic.jms.JMSService.addJMSServer(JMSService.java:2167)
                   at weblogic.jms.JMSService.addDeployment(JMSService.java:1938)
                   at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:330)
                   at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:201)
                   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 weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:747)
                   at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:726)
                   at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:458)
                   at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
                   at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
                   at weblogic.management.internal.RemoteMBeanServerImpl.invoke(RemoteMBeanServerImpl.java:765)
                   at weblogic.management.internal.RemoteMBeanServerImpl_WLSkel.invoke(Unknown Source)
                   at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:466)
                   at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:409)
                   at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:353)
                   at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:144)
                   at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:404)
                   at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
                   at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
                   at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
              --------------- nested within: ------------------
              weblogic.management.console.utils.SetException: An error occurred while updating
              MigratableTarget on [Caching Stub]Proxy for dotnet:Name=CSJMSServer,Type=JMSServer
              - with nested exception:
              [weblogic.management.DistributedManagementException: Distributed Management [1
              exceptions]
              JMS JDBC store, connection pool = , prefix = : unsupported DBMS]
                   at weblogic.management.console.actions.mbean.DoEditMBeanAction.perform(DoEditMBeanAction.java:311)
                   at weblogic.management.console.actions.internal.ActionServlet.doAction(ActionServlet.java:173)
                   at weblogic.management.console.actions.internal.ActionServlet.doPost(ActionServlet.java:85)
                   at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
                   at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
                   at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1053)
                   at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:387)
                   at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
                   at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6310)
                   at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
                   at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
                   at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3622)
                   at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2569)
                   at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
                   at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
              Console Release Build8.1.1.0Server Release Build8.1.1.0Server BuildWebLogic Server
              8.1 SP1 Fri Jun 20 23:06:40 PDT 2003 271009 All Server Product VersionsWebLogic
              Server 8.1 SP1 Fri Jun 20 23:06:40 PDT 2003 271009 WebLogic XMLX Module 8.1 SP1
              Fri Jun 20 23:06:40 PDT 2003 271009 WebLogic Server 8.1 SP1 Fri Jun 20 23:06:40
              PDT 2003 271009 WebLogic Server 8.1 SP1 Fri Jun 20 23:06:40 PDT 2003 271009 WebLogic
              Portal 8.1 Thu Jul 10 20:09:22 PDT 2003 84868
              

    Exactly what it says: unsupported DBMS.
              But but but...
              OK, I'll be nice (just couldn't resist).
              The next 8.1 SP will contain the DDL for MySQL, but for
              now you can run it manually. Prepend your catalog,
              schema, and prefix before JMSState and JMSStore to
              match what you configured as a prefix in your
              JMS JDBC store, and run the commands:
              CREATE TABLE JMSState (recordHandle int, recordState int,
              recordGeneration int);
              CREATE TABLE JMSStore (recordHandle int, recordState int, record longblob);
              CREATE INDEX JMSMSG_X ON JMSState (recordHandle);
              CREATE INDEX JMSMSGQ_X ON JMSStore (recordHandle);
              COMMIT;
              Note that a file store may be preferable instead
              of using a database store, there is
              likely no performance advantage to MySQL (in fact
              there is likely a significant performance penalty), and a file
              store is just as transactionally safe as a database
              store.
              Tom
              dahan wrote:
              > I set up a JDBC connection pool in Weblogic 8.1 with MySQL dbms. When I tried to
              > create a JMS server and use the connection pool as the Persistent Store, then
              > try to target the JMS to a managed server. I got the following error, any idea
              > what the problem is?
              >
              > weblogic.management.DistributedManagementException: Distributed Management [1
              > exceptions]
              > JMS JDBC store, connection pool = , prefix = : unsupported DBMS
              >      at weblogic.management.internal.ConfigurationMBeanImpl.updateConfigMBeans(ConfigurationMBeanImpl.java:1133)
              >      at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:462)
              >      at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
              >      at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
              >      at weblogic.management.internal.RemoteMBeanServerImpl.invoke(RemoteMBeanServerImpl.java:765)
              >      at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:946)
              >      at weblogic.management.internal.MBeanProxy.invokeForCachingStub(MBeanProxy.java:481)
              >      at weblogic.management.configuration.ServerMBean_Stub.addDeployment(ServerMBean_Stub.java:7929)
              >      at weblogic.management.internal.DynamicMBeanImpl.unprotectedUpdateDeployments(DynamicMBeanImpl.java:1795)
              >      at weblogic.management.internal.DynamicMBeanImpl.access$100(DynamicMBeanImpl.java:95)
              >      at weblogic.management.internal.DynamicMBeanImpl$2.run(DynamicMBeanImpl.java:1708)
              >      at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
              >      at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
              >      at weblogic.management.internal.DynamicMBeanImpl.updateDeployments(DynamicMBeanImpl.java:1704)
              >      at weblogic.management.internal.DynamicMBeanImpl.setAttribute(DynamicMBeanImpl.java:1128)
              >      at weblogic.management.internal.ConfigurationMBeanImpl.setAttribute(ConfigurationMBeanImpl.java:311)
              >      at com.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.java:1358)
              >      at com.sun.management.jmx.MBeanServerImpl.setAttribute(MBeanServerImpl.java:1333)
              >      at weblogic.management.internal.RemoteMBeanServerImpl.setAttribute(RemoteMBeanServerImpl.java:367)
              >      at weblogic.management.internal.MBeanProxy.setAttribute(MBeanProxy.java:741)
              >      at weblogic.management.internal.MBeanProxy.invokeForCachingStub(MBeanProxy.java:475)
              >      at weblogic.management.configuration.JMSServerMBean_Stub.setTargets(JMSServerMBean_Stub.java:1247)
              >      at weblogic.management.console.webapp._domain.__jmsserver$ServerAndMigratableTargetAttribute.doSet(__jmsserver.java:109)
              >      at weblogic.management.console.actions.mbean.DoEditMBeanAction.perform(DoEditMBeanAction.java:256)
              >      at weblogic.management.console.actions.internal.ActionServlet.doAction(ActionServlet.java:173)
              >      at weblogic.management.console.actions.internal.ActionServlet.doPost(ActionServlet.java:85)
              >      at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
              >      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
              >      at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1053)
              >      at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:387)
              >      at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
              >      at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6310)
              >      at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
              >      at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
              >      at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3622)
              >      at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2569)
              >      at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
              >      at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
              > java.io.IOException: JMS JDBC store, connection pool = , prefix = : unsupported
              > DBMS
              >      at weblogic.jms.store.JDBCIOStream.throwIOException(JDBCIOStream.java:359)
              >      at weblogic.jms.store.JDBCIOStream.rebuildTables(JDBCIOStream.java:1613)
              >      at weblogic.jms.store.JDBCIOStream.open(JDBCIOStream.java:426)
              >      at weblogic.jms.store.JMSStore.open(JMSStore.java:224)
              >      at weblogic.jms.backend.BEStore.open(BEStore.java:262)
              >      at weblogic.jms.backend.BEStore.start(BEStore.java:151)
              >      at weblogic.jms.backend.BackEnd.openStores(BackEnd.java:1171)
              >      at weblogic.jms.backend.BackEnd.resume(BackEnd.java:1287)
              >      at weblogic.jms.JMSService.addJMSServer(JMSService.java:2167)
              >      at weblogic.jms.JMSService.addDeployment(JMSService.java:1938)
              >      at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:330)
              >      at weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentTarget.java:201)
              >      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 weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl.java:747)
              >      at weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:726)
              >      at weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBeanImpl.java:458)
              >      at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
              >      at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
              >      at weblogic.management.internal.RemoteMBeanServerImpl.invoke(RemoteMBeanServerImpl.java:765)
              >      at weblogic.management.internal.RemoteMBeanServerImpl_WLSkel.invoke(Unknown Source)
              >      at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:466)
              >      at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:409)
              >      at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:353)
              >      at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:144)
              >      at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:404)
              >      at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
              >      at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
              >      at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
              > --------------- nested within: ------------------
              > weblogic.management.console.utils.SetException: An error occurred while updating
              > MigratableTarget on [Caching Stub]Proxy for dotnet:Name=CSJMSServer,Type=JMSServer
              > - with nested exception:
              > [weblogic.management.DistributedManagementException: Distributed Management [1
              > exceptions]
              > JMS JDBC store, connection pool = , prefix = : unsupported DBMS]
              >      at weblogic.management.console.actions.mbean.DoEditMBeanAction.perform(DoEditMBeanAction.java:311)
              >      at weblogic.management.console.actions.internal.ActionServlet.doAction(ActionServlet.java:173)
              >      at weblogic.management.console.actions.internal.ActionServlet.doPost(ActionServlet.java:85)
              >      at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
              >      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
              >      at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1053)
              >      at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:387)
              >      at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
              >      at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6310)
              >      at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
              >      at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
              >      at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3622)
              >      at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2569)
              >      at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
              >      at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
              >
              >
              >
              > --------------------------------------------------------------------------------
              >
              > Console Release Build8.1.1.0Server Release Build8.1.1.0Server BuildWebLogic Server
              > 8.1 SP1 Fri Jun 20 23:06:40 PDT 2003 271009 All Server Product VersionsWebLogic
              > Server 8.1 SP1 Fri Jun 20 23:06:40 PDT 2003 271009 WebLogic XMLX Module 8.1 SP1
              > Fri Jun 20 23:06:40 PDT 2003 271009 WebLogic Server 8.1 SP1 Fri Jun 20 23:06:40
              > PDT 2003 271009 WebLogic Server 8.1 SP1 Fri Jun 20 23:06:40 PDT 2003 271009 WebLogic
              > Portal 8.1 Thu Jul 10 20:09:22 PDT 2003 84868
              >
              

  • Sybase JDBC driver & Invalid column name error

    I submitted a note a year ago concerning JDBC-ODBC bridge and SQL Server db. Same Invalid column name error. The resolution was a bug in the XSU code.
    This time the error is with a jconnect5 JDBC driver from Sybase to a Sybase ASA db. ASA is Adaptive Server Anywhere.
    <ERROR xsql-timing="140">oracle.xml.sql.OracleXMLSQLException: S0022: Invalid column name 'name'.</ERROR>
    However if I use a Sybase JDBC driver from INet Software of Germany, I get the desired result of my query.
    Below are sample XSQLConfig.xml definitions.
    INet Software Sybase JDBC driver definition:
    - <connection name="deasa">
    <username>dba</username>
    <password>sql</password>
    <dburl>jdbc:inetsyb:LEMKAU:2638?database=asademo</dburl>
    <driver>com.inet.syb.SybDriver</driver>
    <autocommit>true</autocommit>
    </connection>
    Sybase jconnect5 Sybase JDBC driver definition:
    - <connection name="asa">
    <username>dba</username>
    <password>sql</password>
    <dburl>jdbc:sybase:Tds:lemkau:2638?ServiceName=asademo</dburl>
    <driver>com.sybase.jdbc.SybDriver</driver>
    <autocommit>true</autocommit>
    </connection>
    I believe the bug has to do with the numeric codes that the drivers use to determine data types are not properly interpreted.
    See XML General note title "insert-request, xsu 2.1.0 beta & SQL Server" for reference.
    Steve.

    Thanks for the notification. We will look into this issue...

  • [Sybase JDBC Driver]Object has been closed

    Hi,
    I am getting the following error when accessing a datasource in an EJB on Weblogic using the Data Direct Drivers.
    java.sql.SQLException: [DataDirect][Sybase JDBC Driver]Object has been closed.
    The code works every other time. the first time through it works the second time I get the error.
    Any insite would be appricated.
    Here is my code
    public String test(String id)
    System.out.println ("test1");
    DataSource ds = null;
    Connection conn = null;
    PreparedStatement stmt = null;
    PreparedStatement stmt2 = null;
    String ret = "?????";
    try
    System.out.println ("read data - prepare");
    InitialContext ic = new InitialContext();
    ds = (DataSource)ic.lookup("java:comp/env/jdbc/dataconn");
    conn = ds.getConnection();
    String sql = "SELECT * FROM myTable WHERE ID = ?";
    System.out.println ("read data - conn.prepareStatement(sql);");
    stmt = conn.prepareStatement(sql);
    stmt.setString(1, id);
    // stmt.setMaxRows(1000);
    System.out.println ("read data - stmt.executeQuery();");
    ResultSet rs = stmt.executeQuery();
    System.out.println ("read data - read");
    if(!rs.next())
    ret = "Not found";
    else
    ret = "found";
    sql = "UPDATE myTable SET column1 = column1 + 1 WHERE ID = ?";
    System.out.println ("update data - prepare");
    stmt2 = conn.prepareStatement(sql);
    stmt2.setString(1, id);
    ret = ret + stmt2.executeUpdate();
    System.out.println ("update data - update");
    catch(Exception e)
    e.printStackTrace();
    finally
    try
    stmt.close();
    catch(Exception exception1) { }
    try
    stmt2.close();
    catch(Exception exception1) { }
    try
    conn.close();
    catch(Exception exception1) { }
    stmt = null;
    stmt2 = null;
    conn = null;
    return ret;
    }

    Hi. What version of weblogic, and can you print the whole stacktrace?
    That way I'll know which object is already closed. This hints at an
    already-fixed bug, but I'm not sure yet... And tell me what happens
    if you close your result set after you do your call to next(). Lastly,
    you can save some DBMS traffic if you change the query to:
    "SELECT 1 FROM myTable WHERE ID = ?"
    Then regardless of how wide the table is, and whether the table data
    is in DBMS memory, as long as there's an index on ID, the query only
    needs to use the index, not the data page to answer. If there's an
    index entry for your ID value, you'll get one row with 1 in it, else
    nothing.
    thanks
    Joe
    Scot McReynolds wrote:
    Hi,
    I am getting the following error when accessing a datasource in an EJB on Weblogic using the Data Direct Drivers.
    java.sql.SQLException: [DataDirect][Sybase JDBC Driver]Object has been closed.
    The code works every other time. the first time through it works the second time I get the error.
    Any insite would be appricated.
    Here is my code
    public String test(String id)
    System.out.println ("test1");
    DataSource ds = null;
    Connection conn = null;
    PreparedStatement stmt = null;
    PreparedStatement stmt2 = null;
    String ret = "?????";
    try
    System.out.println ("read data - prepare");
    InitialContext ic = new InitialContext();
    ds = (DataSource)ic.lookup("java:comp/env/jdbc/dataconn");
    conn = ds.getConnection();
    String sql = "SELECT * FROM myTable WHERE ID = ?";
    System.out.println ("read data - conn.prepareStatement(sql);");
    stmt = conn.prepareStatement(sql);
    stmt.setString(1, id);
    // stmt.setMaxRows(1000);
    System.out.println ("read data - stmt.executeQuery();");
    ResultSet rs = stmt.executeQuery();
    System.out.println ("read data - read");
    if(!rs.next())
    ret = "Not found";
    else
    ret = "found";
    sql = "UPDATE myTable SET column1 = column1 + 1 WHERE ID = ?";
    System.out.println ("update data - prepare");
    stmt2 = conn.prepareStatement(sql);
    stmt2.setString(1, id);
    ret = ret + stmt2.executeUpdate();
    System.out.println ("update data - update");
    catch(Exception e)
    e.printStackTrace();
    finally
    try
    stmt.close();
    catch(Exception exception1) { }
    try
    stmt2.close();
    catch(Exception exception1) { }
    try
    conn.close();
    catch(Exception exception1) { }
    stmt = null;
    stmt2 = null;
    conn = null;
    return ret;

  • Looking up a distributed queue with two persistent stores using two JMS Svr

    I am trying to do the following:
    1. Setup a distributed queue, i have two servers which are part of the cluster:
    Server A: t3://localhost:7003
    Server B: t3://localhost:7005
    I go in and create two jms servers:
    JMS Server JA: Target on Server A
    JMS Server JB: Target on Server B
    Now as the jms servers need to use a seperate persistent store for each one of them i create two persistent stores.
    2. Now from my MDB which is deployed on another server i lookup the queue using
    t3://localhost:7003,localhost:7005 as the provider url
    My problem is that i always end up listening to the messages on the first jms server and never get to read the messages on jms server JB as i guess i am able to connect to JMS Server JA so i never try and connect to JB? What to do about this?
    Edited by: user4828945 on Mar 23, 2009 2:32 PM

    Allocation of consumers wouldn't take into account the number of messages on the queue - they'd be allocated randomly. The scenario you're proposing shouldn't happen though - WebLogic Server takes into account whether a member has consumers when sending to a distributed destination, but otherwise, assuming that Queue 1 and Queue 2 both have consumers, then distribution of load will be equal. It's not the amount of consumers that determine how many messages get sent to a distributed destination member - it's whether it has members at all.
    Assuming that did occur initially though, you'd expect processing to be a little bit more intensive on the server with the queue holding 30 messages. It would pretty quickly even up though.
    From that point forward, it would be somewhere between difficult and impossible to get to the second scenario, where you have an unequal number of messages in each distributed destination member, unless the work being sent with each message to an MDB can vary significantly in how long it would take to process.
    Assuming (and it's a big if) you could get to that scenario, then the MDBs wouldn't switch over - they stay connected to a particular distributed destination member. And it's their connection to a member as a consumer that controls how WebLogic Server load balances messages (assuming default configuration) so that's part of what makes it unlikely to get there.
    From going back to first principles in the documentation, it seems like your best result would actually be from deploying the MDB to the cluster - that way, there's no remote connections to JMS queues, and you get a pool of MDBs on each server instance.
    Ref here: http://e-docs.bea.com/wls/docs81/ejb/message_beans.html

  • WLS 10.3.3 - BEA-280061 The persistent store could not be deployed

    Hi,
    We have an application which is using WLS 10.3.3. After installing, whenever we start a managed server, it fails with:
    <BEA-280061> <The persistent store "XYZ" could not be deployed: java.io.IOException: [Store:280044]The file store directory "/<PATH TO STORE>/XYZ" does not exist
    java.io.IOException: [Store:280044]The file store directory "/<PATH TO STORE>/XYZ" does not exist
         at weblogic.store.io.file.StoreDir.throwIOException(StoreDir.java:173)
         at weblogic.store.io.file.StoreDir.createDirectory(StoreDir.java:226)
         at weblogic.store.admin.FileAdminHandler.prepareCommon(FileAdminHandler.java:158)
         at weblogic.store.admin.FileAdminHandler.prepare(FileAdminHandler.java:104)
         at weblogic.management.utils.GenericManagedService.prepareDeployment(GenericManagedService.java:204)
         at weblogic.management.utils.GenericServiceManager.prepareDeployment(GenericServiceManager.java:121)
         at weblogic.management.internal.DeploymentHandlerHome.invokeHandlers(DeploymentHandlerHome.java:628)
         at weblogic.management.internal.DeploymentHandlerHome.prepareInitialDeployments(DeploymentHandlerHome.java:408)
         at weblogic.management.deploy.internal.DeploymentAdapter$2.doPrepare(DeploymentAdapter.java:98)
         at weblogic.management.deploy.internal.DeploymentAdapter.prepare(DeploymentAdapter.java:191)
         at weblogic.management.deploy.internal.AppTransition$1.transitionApp(AppTransition.java:22)
         at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:240)
         at weblogic.management.deploy.internal.ConfiguredDeployments.prepare(ConfiguredDeployments.java:166)
         at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:122)
         at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:181)
         at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:97)
         at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    >
    On investigation, the data/store directory does exist and the path is correct, but the store name directory does not - so for example if the store is called XYZ, there is no folder XYZ in data/store.
    There are no errors in the managed server log at all up until this point.
    We can get this working by:
    * Starting the Managed server
    * It fails
    * ShutDown the Managed Server
    * Create the folder XYZ using mkdir
    * Start the Managed Server (this works)
    This is the associated section from the config.xml:
    <file-store>
    <name>XYZ</name>
    <target>manserv-1</target>
    </file-store>
    This is a four node cluster and this store is deployed to all of the nodes - all four nodes have the same issue.
    Obviously I'd like to know why this is happening so we can correct it. I have looked round the web but can't see this particular error anywhere.
    Thanks in advance for any help
    Edited by: 843385 on Mar 10, 2011 6:03 AM

    Make sure the directory to which the file store points in available.
    - Target attribute of the file store (The server instances or migratable targets defined in the current domain that are candidates for hosting the
    file store. In a clustered environment, a recommended best practice is to target a custom file store to the same migratable target as the migratable
    JMS service, so that a member server will not be a single point of failure. A file store can also be configured to automatically migrate from an
    unhealthy server instance to a healthy server instance with the help of the server health monitoring services.)
    - Directory attribute of the file store (The path name to the file system directory where the file store maintains its data files. When targeting a
    file store to a migratable target, the store directory must be accessible from all candidate server members in the migratable target. For highest
    availability, you can use a SAN (Storage Area Network) disk.)
    Note that a filestore is a singleton service and is targetted to one server in the cluster at a time, in your case manserv-1.
    So on the machine where manserv-1 runs you must make sure the directory "/<PATH TO STORE>/XYZ exists.

Maybe you are looking for

  • Can't drag and drop songs anymore

    I can no longer click on a song or a group of songs and drag it/them anywhere - not to a playlist from the library, not from a playlist to another playlist, not to my ipod. used to be able to drag and drop anywhere and now nothing. i am using the man

  • Problems with email form in Flex

    I've been scouring the web for an email form in Flex for several days now and am stuck because of what I think are these several areas. Setting up the back end - I am running wamp server 2.0 on my devolping machine and have a Windows 2008 Server with

  • Opening same URL in another tab or window

    switcher here: in windows I could open a new window and the website that opened by default was the one that was already open (so now I have 2 windows with the same site)...Is there an equivilent Safari? How about Camino or firefox? Right now i have b

  • LR to PS to LR

    It is easy enough to get to PS from LR. There must be and equally simple way back to LR after editing. What is it? Many thanks, Paula

  • It must be a bug!

    I have modified the content (such as Forward/link,DataAction) in Struts Page Flow Diagram and saved all or closed the diagram. When i reopen it ,i can see the result i have made. But when i use the context menu in the structure to edit the Action Map