[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