After a lot hacking and tweaking, I managed to build Graffito with
PostgreSQL database. However, if I deploy Graffito with Jetspeed on
Tomcat 5.5, it breaks the Jetspeed deployment and Tomcat throws the
following exception during startup. Without Graffito, Jetspeed portal
works fine.
I am building Graffito against the 2.0.1 branch of Jetspeed. Is Graffito
known to work with 2.0.1 branch?
======================stack trace==========================
[org.apache.ojb.broker.accesslayer.JdbcAccessImpl] ERROR: SQLException
during the execution of the query (for
org.apache.jetspeed.om.portlet.impl.PortletApplicationDefinitionImpl):
An I/O error occured while sending to the backend.
An I/O error occured while sending to the backend.
org.postgresql.util.PSQLException: An I/O error occured while sending to
the backend.
at
org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:214)
at
org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:430)
at
org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:346)
at
org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:250)
at
org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:92)
at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeQuery(JdbcAccessImpl.java:312)
at
org.apache.ojb.broker.accesslayer.RsQueryObject.performQuery(RsQueryObject.java:74)
at
org.apache.ojb.broker.accesslayer.RsIterator.<init>(RsIterator.java:185)
at
org.apache.ojb.broker.core.RsIteratorFactoryImpl.createRsIterator(RsIteratorFactoryImpl.java:58)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getRsIteratorFromQuery(PersistenceBrokerImpl.java:1918)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getIteratorFromQuery(PersistenceBrokerImpl.java:1493)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByQuery(PersistenceBrokerImpl.java:1620)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(DelegatingPersistenceBroker.java:307)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(DelegatingPersistenceBroker.java:307)
at
org.springframework.orm.ojb.PersistenceBrokerTemplate$2.doInPersistenceBroker(PersistenceBrokerTemplate.java:208)
at
org.springframework.orm.ojb.PersistenceBrokerTemplate.execute(PersistenceBrokerTemplate.java:167)
at
org.springframework.orm.ojb.PersistenceBrokerTemplate.getObjectByQuery(PersistenceBrokerTemplate.java:206)
at
org.apache.jetspeed.components.portletregistry.PersistenceBrokerPortletRegistry.getPortletApplication(PersistenceBrokerPortletRegistry.java:119)
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.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:284)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:155)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:122)
at
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:56)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:174)
at $Proxy4.getPortletApplication(Unknown Source)
at
org.apache.jetspeed.tools.pamanager.PortletApplicationManager.startPA(PortletApplicationManager.java:363)
at
org.apache.jetspeed.tools.pamanager.PortletApplicationManager.startPortletApplication(PortletApplicationManager.java:120)
at
org.apache.jetspeed.container.JetspeedContainerServlet.attemptStart(JetspeedContainerServlet.java:168)
at
org.apache.jetspeed.container.JetspeedContainerServlet.access$200(JetspeedContainerServlet.java:52)
at
org.apache.jetspeed.container.JetspeedContainerServlet$1.run(JetspeedContainerServlet.java:139)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
Caused by: java.net.SocketException: Socket closed
at
java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:99)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at
java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
at org.postgresql.core.PGStream.flush(PGStream.java:500)
at
org.postgresql.core.v3.QueryExecutorImpl.sendSync(QueryExecutorImpl.java:672)
at
org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:187)
... 35 more
[org.apache.ojb.broker.accesslayer.ConnectionFactoryAbstractImpl] ERROR:
Closing connection failed
Already closed.
java.sql.SQLException: Already closed.
at
org.apache.commons.dbcp.PoolableConnection.close(PoolableConnection.java:77)
at
org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.close(PoolingDataSource.java:180)
at
org.apache.ojb.broker.util.WrappedConnection.close(WrappedConnection.java:134)
at
org.apache.ojb.broker.accesslayer.ConnectionFactoryAbstractImpl.releaseConnection(ConnectionFactoryAbstractImpl.java:79)
at
org.apache.jetspeed.components.rdbms.ojb.ConnectionManagerImpl.releaseConnection(ConnectionManagerImpl.java:394)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.close(PersistenceBrokerImpl.java:343)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.close(DelegatingPersistenceBroker.java:155)
at
org.apache.ojb.broker.core.PoolablePersistenceBroker.close(PoolablePersistenceBroker.java:33)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.close(DelegatingPersistenceBroker.java:155)
at
org.apache.ojb.broker.core.PersistenceBrokerHandle.close(PersistenceBrokerHandle.java:53)
at
org.springframework.orm.ojb.OjbFactoryUtils.closePersistenceBrokerIfNecessary(OjbFactoryUtils.java:140)
at
org.springframework.orm.ojb.OjbFactoryUtils$PersistenceBrokerSynchronization.beforeCompletion(OjbFactoryUtils.java:173)
at
org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerBeforeCompletion(AbstractPlatformTransactionManager.java:542)
at
org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:451)
at
org.springframework.transaction.interceptor.TransactionAspectSupport.doCloseTransactionAfterThrowing(TransactionAspectSupport.java:261)
at
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:60)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:174)
at $Proxy4.getPortletApplication(Unknown Source)
at
org.apache.jetspeed.tools.pamanager.PortletApplicationManager.startPA(PortletApplicationManager.java:363)
at
org.apache.jetspeed.tools.pamanager.PortletApplicationManager.startPortletApplication(PortletApplicationManager.java:120)
at
org.apache.jetspeed.container.JetspeedContainerServlet.attemptStart(JetspeedContainerServlet.java:168)
at
org.apache.jetspeed.container.JetspeedContainerServlet.access$200(JetspeedContainerServlet.java:52)
at
org.apache.jetspeed.container.JetspeedContainerServlet$1.run(JetspeedContainerServlet.java:139)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
12 Feb, 2006 3:51:27 AM org.apache.catalina.startup.HostConfig
deployDescriptor