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?
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 AMweblogic.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) -
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 AMAre 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 -
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 ?
ThanksIs 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 -
Need Store DB tables to query to get the latest scanned price at register
Need Store DB tables to query to get the latest scanned price at register.
Please provide a sample sql script that will help me do this. I need to have this informatino for several items at a time.
Thanks,
Edited by: user10133807 on Jan 13, 2012 9:22 AM
Edited by: user10133807 on Jan 13, 2012 9:23 AMHi,
You can find multiple items saled price at the register by running below quary
select distinct DC_DY_BSN,ID_ITM_POS,MO_PRN_PRC from TR_LTM_SLS_RTN;
Thanks,
MG -
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
KrishTom
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
>
-
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] -
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);
-
Saving a JMS Message in a Persistent Store
Hello Friends,
I am going to store a JMS message in a persistent store like a database and then recreate it when needed. What I will be doing is storing the JMS headers individually. Then storing all the properties and then the message body. I just wanted to confirm that with this data I would be able to recreate the entire message.Not sure of the answer to this (I suspect re-creating the message with exactly the same values as it started with will be a bit more tricky than you would imaging). Why don't you try creating a blank message and setting every single header / property? You'll probably get some exceptions / values being over written when you send.
The real question is are you 100% sure you need to do this? The whole idea smells fishy. Why do you need the JMS Headers? Things would be far easier if the body of the message contained everything you needed. Why do you have to store the message in a database rather than leave it on a persistent queue? -
Invalid reference in persistent store
Scenario: an object in the persistent store holds an invalid reference
(either an object with the referenced id does not exist or it can't be
instantiated for some other reason). When the object is loaded in
memory, an attempt to navigate the invalid reference does not generate
an exception, but instead returns a null. This doesn't seem correct.
I've attached a simple test case that demonstrates the problem.
Alex Albu
Commerce Technologies, Inc.
21 Corporate Drive
Clifton Park, NY 12065I might be subjective here, but I don't agree, Abe. I don't think that
checking the return value of each method call is the norm in Java. It
is in C, but Java's exceptions are meant to relieve you from this
burden. After all, inconsistent data really is an exceptional
circumstance. Obviously, the granularity of your try/catch blocks,
won't be at the line level. To me, navigating a reference is very
similar with PersistenceManger.getObjectById(). It won't return a null
if the object isn't present in the data store.
Nulls are many times legal values and substituting them for invalid
references takes away the possibility to distinguish between good and
bad data. Code handling invalid references just like it handles nulls
is most likely going to produce wrong results whose cause is going to be
hard to determine.
We have gone to great lengths to ensure that our object model stays
consistent. For example, if A's bField is required by business rules to
be non-null, then our object model offers no way to construct an A
object with a null bField. So if there ise no circumstance under which
bField's getter would return null, why check? If the model has become
inconsistent, that's a serious issue (at least for us) and it is
critical for the application to signal that right away in a clear
fashion (NPE's don't mean anything to production support).
Anyway, as I said, this is just my opinion and I can see how other users
might find your decision suited for their applications. Offering an
option that allows users to control this behavior seems appropriate.
Abe White wrote:
And I'm not sure this behavior is helpful anyway. If you're
trying to dereference an invalid reference, you'll get a NPE,At least it's possible to check for nulls and avoid NPEs. If we threw
an execption on any attempt to load an invalid reference, it would be
impossible for users to avoid the exception.
Consider the following extremely common case:
* Object A has a field bField with a reference to object B.
* Object B is deleted, but the user does not null object A's bField reference.
* Later, the user finds object A and calls A.getBField () to do some operation
on the related B if it exists.
The vast majority of users just want a null to be returned if no related object
exists. Users almost always check for null when dealing with returned objects
in Java; it doesn't get in the way of their programming. Having the
possibility of any getter method for a relation throw an exception, though --
that would force users to build in a lot of exception handling code that
they wouldn't normally include. It breaks the transparency of JDO.
anyway. I guess the only way you can take advantage of this
feature (?) is to test references for null before accessing
them, which doesn't seem reasonable.As stated above, code like this:
B b = a.getBField ();
if (b != null)
is the norm in Java. Code like this:
B b;
try
b = a.getBField ();
catch (JDOUserException jue)
... what could I possibly do to recover here? ...
is not. Additionally, you would still need to do the null check in most
situations, because bField could simply have been set to null.
You can avoid either situation by keeping your object model consistent. This
feature is for careless users. If they're so careless that they also don't
check for null objects, then yes, they'll get a NPE. But with your solution,
they'd get an exception anyway, just a different kind... and an unavoidable
one at that.
I'm interested, though: how would throwing a JDOUserException immediately
help your code? If you can make a compelling enough case, we could offer
this as an option... -
Exceptions Table query help?
I ahve two exceptions tables cust_day_of_week and cust_date
Cust_day_of the week has following fields:
Key_Id,Day_week,begintime,endtime
1,1,8,20 1--is oracle number for sunday
cust_date has following fields
Key_Id, exception_date,begintime,endtime
2,08/24/2011,8,20
i am writing a function to get the key_id to use for some purpose by checking if the sysdate falls in any of the exception
say sysdate is sunday then profile ID =1 shud be returned
if date exception is to be checked then the Cust_day table shud be checked...
is there a way to get the profileid from both tables in one function by chekcing which exception is fullfilled....Hope i am clear...
say i wnat to check if the sysdate day is sunday or not..if yes then return profileid =1
else if i want check if tuday =08/24/2011 the retrun profile id =2 but this shud be done in one function if possible...is it possible...
This is the function i planning to create....
how to check the for the Cust_date table date exception in the same query...
FUNCTION key_ID
( v_date IN DATE DEFAULT SYSDATE
RETURN Number IS
ret_value number:=0
select Key_ID into ret_value from cust_day_of_week
where (to_char( v_date,'D') in (select day_week from cust_day_of_week ))
retun ret_value;
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('Error:'||SQLERRM);
RETURN 0;
END ;
Edited by: 874167 on Aug 25, 2011 1:43 PMDoes this help?
It's not a function, but I don't see a need for one.
drop table cust_date purge;
drop table cust_day_of_week purge;
create table cust_day_of_week (key_id number,Day_week number,begintime number,endtime number);
insert into cust_day_of_week values (1,1,8,20);
insert into cust_day_of_week values (2,2,8,20);
insert into cust_day_of_week values (3,3,8,20);
insert into cust_day_of_week values (4,4,8,20);
insert into cust_day_of_week values (5,5,8,20);
insert into cust_day_of_week values (6,6,8,20);
insert into cust_day_of_week values (7,7,8,20);
create table cust_date (key_id number,exception_date date,begintime number,endtime number, constraint edunique unique(exception_date));
insert into cust_date values (8,to_date('08/24/2011','MM/DD/YYYY'),8,20);
insert into cust_date values (9,to_date('08/25/2011','MM/DD/YYYY'),8,20);
commit;
select key_id from (
SELECT key_id from cust_date where exception_date = trunc(sysdate)
union all
SELECT key_id from cust_day_of_week where day_week = to_number(to_char(sysdate,'D','nls_date_language = AMERICAN')))
where rownum =1;I am not 100% sure that you are allowed to rely on union all preserving the order. I have not seen otherwise, but I am not sure whether it's guaranteed.
As documentation doesn't say it's guaranteed, it probably isn't.
to be sure, this is a safe way of doing it. Maybe someone else can say whether there is a shorter way of doing that:
select key_id from (
select key_id ,rank() over (order by sorted) rnk from (
SELECT key_id, 1 sorted from cust_date where exception_date = trunc(sysdate)
union all
SELECT key_id, 2 sorted from cust_day_of_week where day_week = to_number(to_char(sysdate,'D','nls_date_language = AMERICAN')))
) where rnk = 1; -
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
Maybe you are looking for
-
when i download a song it takes me to the page where i can redeem a gift card (which i did and have $100 credit) but i cannot figure out how to activate the balance for my purchase. please help??
-
If I sync my iphone, will it put all my iphone contacts in itunes, so i can restore and back it up and still have all my contacts on itunes for windows without pressing the sync contacts button in the itunes iphone syncing section that allows you to
-
Satellite M70-131: Is a PA3396E-1ACA AC-adapter compatible
Hi! My brand new M70-131 , model PSM70E-01500QG3 came with AC Adapter with Part Number : PA3396E-1ACA. I read on the support site, the AC Adapter should be: PA3468E-1AC3 This AC Adapter works fine and the battery gets charged ok. I just want to ask i
-
Hi experts, I am in JDBC to IDOC scenario and right now i face following error in SXI_MONITOR (black and white flag in status field BUT Red flag in outbound status): "Message has error status on outbound side" This is a heavy interface (up to 8MB) bu
-
Can I use the Command Line Interface on Unix?
Hi, We use 9iAS on Unix. We want to use Discoverer Command Line Interface on unix to export the worksheet query result. Can anyone know how to do this? I couldn't find out the command similar to dis5usr.exe for windows version. Thanks. Richard Qiu