Re: [Concern-users] FinderException on TimerLocalHome.findDue(long)
Brought to you by:
hengels,
leonchiver
|
From: Holger E. <he...@me...> - 2004-01-27 07:34:43
|
Hi, you're not the only one, who is seeing this exception. I suppose, you're using postgres, right? The timer entity bean is configured to use row locking and jboss is generating this code, which is not understood by postgres: select * from timer for update of <column list> where timeout < ... the 'of' is the problem. postgres only understands 'for update' without 'of' and column list. remove the rowlocking tags from the deployment descriptors and you're fine. this shouldn't be a problem, as long as there's not too much concurrency. then it could lead to deadlock exceptions, which are handled correctly but may cost performance. however, i'd like to know how to tell jboss not to generate the 'of <column list>' for postgres. we should adapt the concern-build.xml (which is copied to dist/build.xml and then devel/dist/etc/kernel/build.xml) to remove the tag for postgres. holger Quoting Justin Walsh <jus...@sa...>: > Hi, > > I am set up on postgres, JBoss. I am using a build from CVS checkout on > 22/01/2004 > > I am getting the following exception when the schedular triggers (from > server.log): > > 2004-01-24 00:25:31,482 ERROR [STDERR] javax.ejb.FinderException: Find > failed: java.sql.SQLException: ERROR: parser: parse error at or near > "." at character 158 > 2004-01-24 00:25:31,516 ERROR [STDERR] at > org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractQueryCommand.execute(JDBCAbstractQueryCommand.java:238) > 2004-01-24 00:25:31,517 ERROR [STDERR] at > org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractQueryCommand.execute(JDBCAbstractQueryCommand.java:111) > 2004-01-24 00:25:31,517 ERROR [STDERR] at > org.jboss.ejb.plugins.cmp.jdbc.JDBCFindEntitiesCommand.execute(JDBCFindEntitiesCommand.java:38) > 2004-01-24 00:25:31,518 ERROR [STDERR] at > org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.findEntities(JDBCStoreManager.java:579) > 2004-01-24 00:25:31,518 ERROR [STDERR] at > org.jboss.ejb.plugins.CMPPersistenceManager.findEntities(CMPPersistenceManager.java:311) > 2004-01-24 00:25:31,518 ERROR [STDERR] at > org.jboss.resource.connectionmanager.CachedConnectionInterceptor.findEntities(CachedConnectionInterceptor.java:322) > 2004-01-24 00:25:31,519 ERROR [STDERR] at > org.jboss.ejb.EntityContainer.findLocal(EntityContainer.java:613) > 2004-01-24 00:25:31,519 ERROR [STDERR] at > sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > 2004-01-24 00:25:31,520 ERROR [STDERR] at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > 2004-01-24 00:25:31,520 ERROR [STDERR] at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > 2004-01-24 00:25:31,521 ERROR [STDERR] at > java.lang.reflect.Method.invoke(Method.java:324) > 2004-01-24 00:25:31,521 ERROR [STDERR] at > org.jboss.ejb.EntityContainer$ContainerInterceptor.invokeHome(EntityContainer.java:1043) > 2004-01-24 00:25:31,521 ERROR [STDERR] at > org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor.java:88) > 2004-01-24 00:25:31,522 ERROR [STDERR] at > org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invokeHome(EntitySynchronizationInterceptor.java:197) > 2004-01-24 00:25:31,523 ERROR [STDERR] at > org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invokeHome(CachedConnectionInterceptor.java:214) > 2004-01-24 00:25:31,531 ERROR [STDERR] at > org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor.java:88) > 2004-01-24 00:25:31,532 ERROR [STDERR] at > org.jboss.ejb.plugins.EntityInstanceInterceptor.invokeHome(EntityInstanceInterceptor.java:89) > 2004-01-24 00:25:31,532 ERROR [STDERR] at > org.jboss.ejb.plugins.EntityLockInterceptor.invokeHome(EntityLockInterceptor.java:61) > 2004-01-24 00:25:31,533 ERROR [STDERR] at > org.jboss.ejb.plugins.EntityCreationInterceptor.invokeHome(EntityCreationInterceptor.java:28) > > The exception is occurring at TimerLocalHome: > > public java.util.Collection findDue(long timeout) > throws javax.ejb.FinderException; > > > The generated finder (from the jboss.xml ejb-ql) is: > > <ejb-ql><![CDATA[SELECT DISTINCT OBJECT(i) FROM Timer i WHERE i.timeout > <= ?1]]></ejb-ql> > > I don't have any ejb-ql experience - so any help would be appreciated. > > Thanks > > Justin > > > > > > > > > > ------------------------------------------------------- > The SF.Net email is sponsored by EclipseCon 2004 > Premiere Conference on Open Tools Development and Integration > See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. > http://www.eclipsecon.org/osdn > _______________________________________________ > Concern-users mailing list > Con...@li... > https://lists.sourceforge.net/lists/listinfo/concern-users > > Holger Engels (Dipl Inf Med) -- Consultant, Architect, Developer Mobile: +49 176 20119752 ------------------------------------------------- This mail sent through IMP: http://horde.org/imp/ |