Ok, I got around this problem, although I am still *very* puzzled. So, looking at the deployment logs, here is what was happening:
2006-04-25 12:02:26,348 [Thread-1] INFO deployment - Deployment scanner successfuly started! 2006-04-25 12:02:46,567 [Autodeployment File Scanner Thread] WARN deployment - Unrecognized file C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\jetspeed\WEB-INF\deploy\README.txt 2006-04-25 12:02:49,341 [Autodeployment File Scanner Thread] INFO deployment - File: C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\jetspeed\WEB-INF\deploy\tpn-portlet.war deployed 2006-04-25 12:06:44,979 [TP-Processor3] ERROR deployment - IOException: java.net.ConnectException: Connection refused: connect Note that I got confirmation that the portlet war file was successfully deployed, but then 4 minutes later, some kind of connection refused out of nowhere. Then I realized I wasn't getting all the usual deployment fanfare log messages, eg. "Remove all registry entries defined for portlet application tpn-portlet" etc. So this time, I re-deployed the war file and just left alone for several minutes. Eventually, the following log messages showed up, after which the portlet could be called by the PSML: 2006-04-25 12:08:02,962 [Timer-9] INFO deployment - Remove all registry entries defined for portlet application tpn-portlet 2006-04-25 12:08:51,231 [Timer-9] INFO deployment - Loading portlet.xml....tpn-portlet 2006-04-25 12:09:16,227 [Timer-9] INFO deployment - No extended metadata found. 2006-04-25 12:09:16,227 [Timer-9] INFO deployment - Loading web.xml....tpn-portlet 2006-04-25 12:09:35,344 [Timer-9] INFO deployment - Registered the portlet application tpn-portlet 2006-04-25 12:09:35,354 [Timer-9] INFO deployment - Registered the portlet application in the search engine... tpn-portlet 2006-04-25 12:11:23,921 [Autodeployment File Scanner Thread] INFO deployment - File: C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\jetspeed\WEB-INF\deploy\tpn-portlet.war deployed Now, I have been running the db (and the OS for that matter) for quite some time without a restart, so perhaps there was some DB connectivity issues (although I have had no problems with any of my other connection pools). In any event, I am ok for now. Hopefully after a full restart, this won't happen again... On 4/25/06, Aaron Evans <[EMAIL PROTECTED]> wrote: > Hey guys, > I am going nuts here. I'm not sure why this is happening to me all of > a sudden, but whenever I try to deploy a new PSML page with a portlet > fragment for a new portlet, I am getting a: > > org.apache.jetspeed.components.portletentity.PortletEntityNotStoredException: > java.io.IOException: Failed to store portlet > entity:org.springframework.dao.DataIntegrityViolationException: (OJB > operation): data integrity violated by SQL ''; nested exception is > java.sql.SQLException: Duplicate key or integrity constraint violation > message from server: "Column 'APP_NAME' cannot be null" > > The complete stack trace is given below. > > My dev environment is Jetspeed 2.0 on Tomcat 5.5.9, JDK 1.5, MySQL 4.1 > on Win XP. > > The fragment is fine: > > <fragment id="mvc-examples-1" type="portlet" > name="tpn-portlet::SimpleMVCExamplePortlet"/> > > Clearly the app name, 'tpn-portlet' is present yet jetspeed is > providing null for it somewhere down the line. > > This happened to me yesterday and after wrestling with changing the > portlet ID and substituting another portlet name about 20 times, it > somehow started working. I tried to do the same thing today, but no > luck, so I am completely stuck. :( > > Has anyone else run into this? > > ***complete stack trace*** > > org.apache.jetspeed.components.portletentity.PortletEntityNotStoredException: > java.io.IOException: Failed to store portlet > entity:org.springframework.dao.DataIntegrityViolationException: (OJB > operation): data integrity violated by SQL ''; nested exception is > java.sql.SQLException: Duplicate key or integrity constraint violation > message from server: "Column 'APP_NAME' cannot be null" > at > org.apache.jetspeed.components.portletentity.PersistenceBrokerPortletEntityAccess.storePortletEntity(PersistenceBrokerPortletEntityAccess.java:326) > 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 $Proxy3.storePortletEntity(Unknown Source) > at > org.apache.jetspeed.velocity.JetspeedPowerToolImpl.getPortletEntity(JetspeedPowerToolImpl.java:326) > 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.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:267) > at > org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:197) > at > org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:175) > at > org.apache.velocity.runtime.parser.node.ASTReference.value(ASTReference.java:327) > at > org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:144) > at > org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:175) > at > org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:220) > at > org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:230) > at org.apache.velocity.runtime.directive.Parse.render(Parse.java:181) > at > org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:114) > at > org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:55) > at > org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:70) > at > org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:55) > at > org.apache.velocity.runtime.directive.Foreach.render(Foreach.java:166) > at > org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:114) > at > org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:55) > at > org.apache.velocity.runtime.directive.Foreach.render(Foreach.java:166) > at > org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:114) > at > org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:230) > at org.apache.velocity.Template.merge(Template.java:256) > at > org.apache.portals.bridges.velocity.BridgesVelocityViewServlet.mergeTemplate(BridgesVelocityViewServlet.java:118) > at > org.apache.velocity.tools.view.servlet.VelocityViewServlet.doRequest(Unknown > Source) > at > org.apache.velocity.tools.view.servlet.VelocityViewServlet.doGet(Unknown > Source) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) > at > org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672) > at > org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574) > at > org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499) > at > org.apache.jetspeed.dispatcher.JetspeedRequestDispatcher.include(JetspeedRequestDispatcher.java:72) > at > org.apache.portals.bridges.common.GenericServletPortlet.doView(GenericServletPortlet.java:363) > at > org.apache.jetspeed.portlets.layout.LayoutPortlet.doView(LayoutPortlet.java:207) > at > org.apache.jetspeed.portlets.layout.MultiColumnPortlet.doView(MultiColumnPortlet.java:126) > at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:247) > at javax.portlet.GenericPortlet.render(GenericPortlet.java:175) > at > org.apache.jetspeed.factory.JetspeedPortletInstance.render(JetspeedPortletInstance.java:102) > at > org.apache.jetspeed.container.invoker.LocalPortletInvoker.invoke(LocalPortletInvoker.java:196) > at > org.apache.jetspeed.container.invoker.LocalPortletInvoker.render(LocalPortletInvoker.java:116) > at > org.apache.pluto.PortletContainerImpl.renderPortlet(PortletContainerImpl.java:119) > at > org.apache.jetspeed.container.JetspeedPortletContainerWrapper.renderPortlet(JetspeedPortletContainerWrapper.java:120) > at > org.apache.jetspeed.aggregator.impl.RenderingJobImpl.execute(RenderingJobImpl.java:120) > at > org.apache.jetspeed.aggregator.impl.PortletRendererImpl.renderNow(PortletRendererImpl.java:110) > at > org.apache.jetspeed.aggregator.impl.PageAggregatorImpl.aggregateAndRender(PageAggregatorImpl.java:199) > at > org.apache.jetspeed.aggregator.impl.PageAggregatorImpl.build(PageAggregatorImpl.java:106) > at > org.apache.jetspeed.aggregator.AggregatorValve.invoke(AggregatorValve.java:48) > at > org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:203) > at > org.apache.jetspeed.pipeline.valve.impl.ActionValveImpl.invoke(ActionValveImpl.java:132) > at > org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:203) > at > org.apache.jetspeed.container.ContainerValve.invoke(ContainerValve.java:76) > at > org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:203) > at > org.apache.jetspeed.decoration.DecorationValve.invoke(DecorationValve.java:100) > at > org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:203) > at > org.apache.jetspeed.profiler.impl.ProfilerValveImpl.invoke(ProfilerValveImpl.java:179) > at > org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:203) > at > org.apache.jetspeed.security.impl.LoginValidationValveImpl.invoke(LoginValidationValveImpl.java:143) > at > org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:203) > at > org.apache.jetspeed.security.impl.PasswordCredentialValveImpl.invoke(PasswordCredentialValveImpl.java:148) > at > org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:203) > at > org.apache.jetspeed.localization.impl.LocalizationValveImpl.invoke(LocalizationValveImpl.java:168) > at > org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:203) > at > org.apache.jetspeed.security.impl.AbstractSecurityValve$1.run(AbstractSecurityValve.java:117) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAsPrivileged(Subject.java:454) > at > org.apache.jetspeed.security.impl.AbstractSecurityValve.invoke(AbstractSecurityValve.java:111) > at > org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:203) > at > org.apache.jetspeed.container.url.impl.PortalURLValveImpl.invoke(PortalURLValveImpl.java:55) > at > org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:203) > at > org.apache.jetspeed.capabilities.impl.CapabilityValveImpl.invoke(CapabilityValveImpl.java:128) > at > org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:203) > at > org.apache.jetspeed.pipeline.JetspeedPipeline.invoke(JetspeedPipeline.java:185) > at > org.apache.jetspeed.engine.JetspeedEngine.service(JetspeedEngine.java:231) > at > org.apache.jetspeed.engine.JetspeedServlet.doGet(JetspeedServlet.java:226) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:407) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) > at > org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:392) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) > at > org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:307) > at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:385) > at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:748) > at > org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:678) > at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:871) > at > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) > at java.lang.Thread.run(Thread.java:595) > Caused by: java.io.IOException: Failed to store portlet > entity:org.springframework.dao.DataIntegrityViolationException: (OJB > operation): data integrity violated by SQL ''; nested exception is > java.sql.SQLException: Duplicate key or integrity constraint violation > message from server: "Column 'APP_NAME' cannot be null" > at > org.apache.jetspeed.components.portletentity.PersistenceBrokerPortletEntityAccess.storePreferenceSet(PersistenceBrokerPortletEntityAccess.java:355) > at > org.apache.jetspeed.components.portletentity.PortletEntityImpl.store(PortletEntityImpl.java:253) > at > org.apache.jetspeed.components.portletentity.PortletEntityImpl.store(PortletEntityImpl.java:241) > at > org.apache.jetspeed.components.portletentity.PersistenceBrokerPortletEntityAccess.storePortletEntity(PersistenceBrokerPortletEntityAccess.java:322) > ... 108 more > Caused by: org.springframework.dao.DataIntegrityViolationException: > (OJB operation): data integrity violated by SQL ''; nested exception > is java.sql.SQLException: Duplicate key or integrity constraint > violation message from server: "Column 'APP_NAME' cannot be null" > at > org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.translate(SQLStateSQLExceptionTranslator.java:93) > at > org.springframework.orm.ojb.OjbAccessor.convertJdbcAccessException(OjbAccessor.java:107) > at > org.springframework.orm.ojb.OjbAccessor.convertOjbAccessException(OjbAccessor.java:89) > at > org.springframework.orm.ojb.PersistenceBrokerTemplate.execute(PersistenceBrokerTemplate.java:170) > at > org.springframework.orm.ojb.PersistenceBrokerTemplate.store(PersistenceBrokerTemplate.java:265) > at > org.apache.jetspeed.components.portletentity.PersistenceBrokerPortletEntityAccess.storePreferenceSet(PersistenceBrokerPortletEntityAccess.java:345) > ... 111 more > Caused by: java.sql.SQLException: Duplicate key or integrity > constraint violation message from server: "Column 'APP_NAME' cannot be > null" > at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1997) > at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1167) > at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1278) > at com.mysql.jdbc.Connection.execSQL(Connection.java:2247) > at > com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1772) > at > com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1619) > at > org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:101) > at > org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert(JdbcAccessImpl.java:216) > at > org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(PersistenceBrokerImpl.java:1754) > at > org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:813) > at > org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:726) > at > org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersistenceBroker.java:175) > at > org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersistenceBroker.java:175) > at > org.springframework.orm.ojb.PersistenceBrokerTemplate$9.doInPersistenceBroker(PersistenceBrokerTemplate.java:267) > at > org.springframework.orm.ojb.PersistenceBrokerTemplate.execute(PersistenceBrokerTemplate.java:167) > ... 113 more > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]