[jboss-jira] [JBoss JIRA] Created: (JBAS-3953) OracleDatabasePersistencePlugin does not override selectTimers(ObjectName containerId) - selecting persisted timers fails at startup
Gunnar von der Beck (JIRA)
jira-events at jboss.com
Tue Dec 19 08:46:41 EST 2006
OracleDatabasePersistencePlugin does not override selectTimers(ObjectName containerId) - selecting persisted timers fails at startup
------------------------------------------------------------------------------------------------------------------------------------
Key: JBAS-3953
URL: http://jira.jboss.com/jira/browse/JBAS-3953
Project: JBoss Application Server
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: JBossAS-4.0.5.GA, JBossAS-4.0.4.GA
Environment: Oracle Database instead of HSQL-DB
Reporter: Gunnar von der Beck
Precondition:
-------------------
Configure the use of the OracleDatabasePersistencePlugin for EJBTimers:
<!-- A persistence policy that persistes timers to a database -->
<mbean code="org.jboss.ejb.txtimer.DatabasePersistencePolicy" name="jboss.ejb:service=EJBTimerService,persistencePolicy=database">
<!-- DataSource JNDI name -->
<depends optional-attribute-name="DataSource">jboss.jca:service=DataSourceBinding,name=DefaultDS</depends>
<!-- The plugin that handles database persistence -->
<attribute name="DatabasePersistencePlugin">org.jboss.ejb.txtimer.OracleDatabasePersistencePlugin</attribute>
</mbean>
Error:
--------
The org.jboss.ejb.txtimer.OracleDatabasePersistencePlugin extends GeneralPurposeDatabasePersistencePlugin and implements a method
public List selectTimers() throws SQLException;
In order to override the behavior of the GeneralPurposeDatabasePersistencePlugin the correct signature must be
public List selectTimers(ObjectName containerId) throws SQLException;
Hence the following exception occurs when restoring persisted timers at server startup:
2006-12-19 13:27:33,789 ERROR [org.jboss.ejb.txtimer.GeneralPurposeDatabasePersistencePlugin] Cannot deserialize
java.io.StreamCorruptedException: invalid stream header
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:764)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:277)
at org.jboss.invocation.MarshalledValueInputStream.<init>(MarshalledValueInputStream.java:74)
at org.jboss.ejb.txtimer.GeneralPurposeDatabasePersistencePlugin.deserialize(GeneralPurposeDatabasePersistencePlugin.java:386)
at org.jboss.ejb.txtimer.GeneralPurposeDatabasePersistencePlugin.selectTimers(GeneralPurposeDatabasePersistencePlugin.java:228)
at org.jboss.ejb.txtimer.DatabasePersistencePolicy.listTimerHandles(DatabasePersistencePolicy.java:175)
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:585)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
at $Proxy16.listTimerHandles(Unknown Source)
at org.jboss.ejb.txtimer.EJBTimerServiceImpl.restoreTimers(EJBTimerServiceImpl.java:408)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list