Updated again and now it works! Great job. Seems we are up and running again on cvs head.
I don't know how it is with jdk < 1.4.2_02 though. Serge?
Ate Douma wrote:
Scott T Weaver wrote:
On Mon, 2004-06-21 at 13:46, Serge Huber wrote:
Found my problem !!
It's amazing, but it actually explains why the problem was not happening to everybody. It's a problem that only exists with JDK 1.4.2_01 and earlier. It seems that in JDK 1.4.2_02 the implementation of classloading for the factory has changed. Before _02 they used the System class loader, whereas in _02 and later if the class is not found in the system class loader, it then tries in the Thread class loader.
I am using 1.4.2_04-b05 on Mandrake Linux and have the same problem you and Ate were having. Hmm, maybe they forgot to fix the Linux dist!
For more details go to :
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4788410
To confirm I upgraded to JDK 1.4.2_04 and I now have the preference factory loading fine.
Now this begs the question : do we want J2 to require JDK 1.4.2_02 or later or do we need to change the pref api implementation to be more portable ?
As I reported I had the problem with JDK 1.4.2_04 so it seems it is *not* fixed from 1.4.2_4.
I did a quick update to get Scotts fix and tried to build again.
Now I get a test failure in o.a.j.engine.TestEngine.
I'm sorry but I have a meeting now so I can't help out for the next few hours...
TEST-org.apache.jetspeed.engine.TestEngine.txt:
Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 2.484 sec
------------- Standard Output ---------------
INFO: Jetspeed environment attempting to initialize portal Engine...
JNDI System Property flag null
cn=org.nanocontainer.script.groovy.GroovyContainerBuilder
[org.apache.ojb.broker.accesslayer.ConnectionFactoryAbstractImpl] ERROR: Naming Exception while looking up DataSource (java:comp/env/jdbc/jetspeed)
comp is not a subcontext
[org.apache.ojb.broker.accesslayer.JdbcAccessImpl] ERROR: PersistenceBrokerException during the execution of the query: Used ConnectionManager instance could not obtain a connection
Used ConnectionManager instance could not obtain a connection
------------- ---------------- ---------------
------------- Standard Error -----------------
javax.naming.NotContextException: comp is not a subcontext
at tyrex.naming.EnvContext.internalLookup(Unknown Source)
at tyrex.naming.EnvContext.lookup(Unknown Source)
at tyrex.naming.java.JavaContext.lookup(Unknown Source)
at javax.naming.InitialContext.lookup(InitialContext.java:347)
at org.apache.ojb.broker.accesslayer.ConnectionFactoryAbstractImpl.newConnectionFromDataSource(Unknown Source)
at org.apache.ojb.broker.accesslayer.ConnectionFactoryAbstractImpl.lookupConnection(Unknown Source)
at org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.getConnection(Unknown Source)
at org.apache.ojb.broker.accesslayer.StatementManager.getPreparedStatement(Unknown Source)
at org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeQuery(Unknown Source)
at org.apache.ojb.broker.accesslayer.RsQueryObject.performQuery(Unknown Source)
at org.apache.ojb.broker.accesslayer.RsIterator.<init>(Unknown Source)
at org.apache.ojb.broker.core.RsIteratorFactoryImpl.createRsIterator(Unknown Source)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.getRsIteratorFromQuery(Unknown Source)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.getIteratorFromQuery(Unknown Source)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByQuery(Unknown Source)
at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(Unknown Source)
at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(Unknown Source)
at org.apache.jetspeed.components.persistence.store.ojb.pb.PBStore.getObjectByQuery(PBStore.java:224)
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:324)
at org.picocontainer.defaults.ImplementationHidingComponentAdapter$DelegatingInvocationHandler.invoke(ImplementationHidingComponentAdapter.java:92)
at $Proxy0.getObjectByQuery(Unknown Source)
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:324)
at org.apache.jetspeed.components.adapters.AbstractDelegationStrategy.invoke(AbstractDelegationStrategy.java:66)
at $Proxy0.getObjectByQuery(Unknown Source)
at org.apache.jetspeed.prefs.impl.PreferencesImpl.getNode(PreferencesImpl.java:228)
at org.apache.jetspeed.prefs.impl.PreferencesImpl.createPrefNode(PreferencesImpl.java:164)
at org.apache.jetspeed.prefs.impl.PreferencesImpl.<init>(PreferencesImpl.java:113)
at org.apache.jetspeed.prefs.impl.PreferencesImpl.<clinit>(PreferencesImpl.java:90)
at org.apache.jetspeed.prefs.impl.PreferencesFactoryImpl.systemRoot(PreferencesFactoryImpl.java:37)
at org.apache.jetspeed.prefs.impl.PreferencesProviderImpl.start(PreferencesProviderImpl.java:108)
at org.picocontainer.defaults.DefaultPicoContainer.start(DefaultPicoContainer.java:292)
at org.nanocontainer.integrationkit.LifecycleContainerBuilder.buildContainer(LifecycleContainerBuilder.java:28)
at org.nanocontainer.NanoContainer.<init>(NanoContainer.java:88)
at org.nanocontainer.NanoContainer.<init>(NanoContainer.java:59)
at org.apache.jetspeed.components.ComponentManager.<init>(ComponentManager.java:76)
at org.apache.jetspeed.engine.JetspeedEngine.initComponents(JetspeedEngine.java:337)
at org.apache.jetspeed.engine.JetspeedEngine.init(JetspeedEngine.java:140)
at org.apache.jetspeed.Jetspeed.createEngine(Jetspeed.java:60)
at org.apache.jetspeed.engine.TestEngine.setUp(TestEngine.java:70)
at junit.framework.TestCase.runBare(TestCase.java:125)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:325)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:536)
org.apache.ojb.broker.PersistenceBrokerException: Used ConnectionManager instance could not obtain a connection
at org.apache.ojb.broker.accesslayer.StatementManager.getPreparedStatement(Unknown Source)
at org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeQuery(Unknown Source)
at org.apache.ojb.broker.accesslayer.RsQueryObject.performQuery(Unknown Source)
at org.apache.ojb.broker.accesslayer.RsIterator.<init>(Unknown Source)
at org.apache.ojb.broker.core.RsIteratorFactoryImpl.createRsIterator(Unknown Source)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.getRsIteratorFromQuery(Unknown Source)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.getIteratorFromQuery(Unknown Source)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByQuery(Unknown Source)
at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(Unknown Source)
at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(Unknown Source)
at org.apache.jetspeed.components.persistence.store.ojb.pb.PBStore.getObjectByQuery(PBStore.java:224)
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:324)
at org.picocontainer.defaults.ImplementationHidingComponentAdapter$DelegatingInvocationHandler.invoke(ImplementationHidingComponentAdapter.java:92)
at $Proxy0.getObjectByQuery(Unknown Source)
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:324)
at org.apache.jetspeed.components.adapters.AbstractDelegationStrategy.invoke(AbstractDelegationStrategy.java:66)
at $Proxy0.getObjectByQuery(Unknown Source)
at org.apache.jetspeed.prefs.impl.PreferencesImpl.getNode(PreferencesImpl.java:228)
at org.apache.jetspeed.prefs.impl.PreferencesImpl.createPrefNode(PreferencesImpl.java:164)
at org.apache.jetspeed.prefs.impl.PreferencesImpl.<init>(PreferencesImpl.java:113)
at org.apache.jetspeed.prefs.impl.PreferencesImpl.<clinit>(PreferencesImpl.java:90)
at org.apache.jetspeed.prefs.impl.PreferencesFactoryImpl.systemRoot(PreferencesFactoryImpl.java:37)
at org.apache.jetspeed.prefs.impl.PreferencesProviderImpl.start(PreferencesProviderImpl.java:108)
at org.picocontainer.defaults.DefaultPicoContainer.start(DefaultPicoContainer.java:292)
at org.nanocontainer.integrationkit.LifecycleContainerBuilder.buildContainer(LifecycleContainerBuilder.java:28)
at org.nanocontainer.NanoContainer.<init>(NanoContainer.java:88)
at org.nanocontainer.NanoContainer.<init>(NanoContainer.java:59)
at org.apache.jetspeed.components.ComponentManager.<init>(ComponentManager.java:76)
at org.apache.jetspeed.engine.JetspeedEngine.initComponents(JetspeedEngine.java:337)
at org.apache.jetspeed.engine.JetspeedEngine.init(JetspeedEngine.java:140)
at org.apache.jetspeed.Jetspeed.createEngine(Jetspeed.java:60)
at org.apache.jetspeed.engine.TestEngine.setUp(TestEngine.java:70)
at junit.framework.TestCase.runBare(TestCase.java:125)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:325)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:536)
Caused by: org.apache.ojb.broker.accesslayer.LookupException: Naming Exception while looking up DataSource (java:comp/env/jdbc/jetspeed)
at org.apache.ojb.broker.accesslayer.ConnectionFactoryAbstractImpl.newConnectionFromDataSource(Unknown Source)
at org.apache.ojb.broker.accesslayer.ConnectionFactoryAbstractImpl.lookupConnection(Unknown Source)
at org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.getConnection(Unknown Source)
... 47 more
Caused by: javax.naming.NotContextException: comp is not a subcontext
at tyrex.naming.EnvContext.internalLookup(Unknown Source)
at tyrex.naming.EnvContext.lookup(Unknown Source)
at tyrex.naming.java.JavaContext.lookup(Unknown Source)
at javax.naming.InitialContext.lookup(InitialContext.java:347)
... 50 more
java.lang.RuntimeException: Failed to initialize prefs api. java.lang.ExceptionInInitializerError
at org.apache.jetspeed.prefs.impl.PreferencesProviderImpl.start(PreferencesProviderImpl.java:114)
at org.picocontainer.defaults.DefaultPicoContainer.start(DefaultPicoContainer.java:292)
at org.nanocontainer.integrationkit.LifecycleContainerBuilder.buildContainer(LifecycleContainerBuilder.java:28)
at org.nanocontainer.NanoContainer.<init>(NanoContainer.java:88)
at org.nanocontainer.NanoContainer.<init>(NanoContainer.java:59)
at org.apache.jetspeed.components.ComponentManager.<init>(ComponentManager.java:76)
at org.apache.jetspeed.engine.JetspeedEngine.initComponents(JetspeedEngine.java:337)
at org.apache.jetspeed.engine.JetspeedEngine.init(JetspeedEngine.java:140)
at org.apache.jetspeed.Jetspeed.createEngine(Jetspeed.java:60)
at org.apache.jetspeed.engine.TestEngine.setUp(TestEngine.java:70)
at junit.framework.TestCase.runBare(TestCase.java:125)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:325)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:536)
org.apache.jetspeed.exception.JetspeedException: Jetspeed Initialization exception!
at org.apache.jetspeed.engine.JetspeedEngine.init(JetspeedEngine.java:166)
at org.apache.jetspeed.Jetspeed.createEngine(Jetspeed.java:60)
at org.apache.jetspeed.engine.TestEngine.setUp(TestEngine.java:70)
at junit.framework.TestCase.runBare(TestCase.java:125)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:325)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:536)
Caused by: java.lang.RuntimeException: Failed to initialize prefs api. java.lang.ExceptionInInitializerError
at org.apache.jetspeed.prefs.impl.PreferencesProviderImpl.start(PreferencesProviderImpl.java:114)
at org.picocontainer.defaults.DefaultPicoContainer.start(DefaultPicoContainer.java:292)
at org.nanocontainer.integrationkit.LifecycleContainerBuilder.buildContainer(LifecycleContainerBuilder.java:28)
at org.nanocontainer.NanoContainer.<init>(NanoContainer.java:88)
at org.nanocontainer.NanoContainer.<init>(NanoContainer.java:59)
at org.apache.jetspeed.components.ComponentManager.<init>(ComponentManager.java:76)
at org.apache.jetspeed.engine.JetspeedEngine.initComponents(JetspeedEngine.java:337)
at org.apache.jetspeed.engine.JetspeedEngine.init(JetspeedEngine.java:140)
... 11 more
------------- ---------------- ---------------
Testcase: testEngine(org.apache.jetspeed.engine.TestEngine): Caused an ERROR
Unable to create Engine
org.apache.jetspeed.exception.JetspeedException: Unable to create Engine
at org.apache.jetspeed.Jetspeed.createEngine(Jetspeed.java:70)
at org.apache.jetspeed.engine.TestEngine.setUp(TestEngine.java:70)
Caused by: org.apache.jetspeed.exception.JetspeedException: Jetspeed Initialization exception!
at org.apache.jetspeed.engine.JetspeedEngine.init(JetspeedEngine.java:166)
at org.apache.jetspeed.Jetspeed.createEngine(Jetspeed.java:60)
... 10 more
Caused by: java.lang.RuntimeException: Failed to initialize prefs api. java.lang.ExceptionInInitializerError
at org.apache.jetspeed.prefs.impl.PreferencesProviderImpl.start(PreferencesProviderImpl.java:114)
at org.picocontainer.defaults.DefaultPicoContainer.start(DefaultPicoContainer.java:292)
at org.nanocontainer.integrationkit.LifecycleContainerBuilder.buildContainer(LifecycleContainerBuilder.java:28)
at org.nanocontainer.NanoContainer.<init>(NanoContainer.java:88)
at org.nanocontainer.NanoContainer.<init>(NanoContainer.java:59)
at org.apache.jetspeed.components.ComponentManager.<init>(ComponentManager.java:76)
at org.apache.jetspeed.engine.JetspeedEngine.initComponents(JetspeedEngine.java:337)
at org.apache.jetspeed.engine.JetspeedEngine.init(JetspeedEngine.java:140)
... 11 more
Regards, Serge Huber.
At 18:59 21.06.2004, you wrote:
I forgot to mention my environment :
- latest J2 from CVS HEAD, including Ate's properties change - Windows XP SP 1 - Sun JDK 1.4.2_01 - Tomcat 4.1.30
My guess about this problem is that as the JVM's Preferences impl uses the system class loader (see my previous mail), we cannot access the PreferencesFactoryImpl which is in a child class loader (the webapp's class loader). Now I would love to be able to propose a workaround, but since this seems to be a problem with the JDK's implementation and doesn't offer an alternate way to set a class loader, I'm not sure there are any options...
Anyway, it might also just be my setup. Can somebody reproduce this problem ?
Regards, Serge Huber.
At 18:44 21.06.2004, you wrote:
Scott,
I did a complete checkout of J2, then :
allClean allBuild quickStart
and then started Tomcat, here is the log of what happened :
INFO: Preparing to deploy portlet app "HW_App"
INFO: Deploying portlet applicaion WAR demo.war
INFO: Portlet application deployment target directory is C:\java\technologies\jakarta-tomcat\webapps/HW_App
java.lang.InternalError: Can't instantiate Preferences factory java.lang.ClassNotFoundException: org.apache.jetspeed.prefs.impl.PreferencesFactoryImpl
at java.util.prefs.Preferences.<clinit>(Preferences.java:204)
at org.apache.jetspeed.om.preference.impl.PrefsPreference.createPrefenceNode(PrefsPreference.java:540)
at org.apache.jetspeed.om.preference.impl.PrefsPreference.<init>(PrefsPreference.java:73)
at org.apache.jetspeed.util.descriptor.PortletPreferenceRule.end(PortletPreferenceRule.java:74)
at org.apache.commons.digester.Digester.endElement(Digester.java:1058)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.commons.digester.Digester.parse(Digester.java:1586)
at org.apache.jetspeed.util.descriptor.PortletApplicationDescriptor.createPortletApplication(PortletApplicationDescriptor.java:146)
at org.apache.jetspeed.util.descriptor.PortletApplicationWar.createPortletApp(PortletApplicationWar.java:213)
at org.apache.jetspeed.tools.pamanager.FileSystemPAM.registerApplication(FileSystemPAM.java:346)
at org.apache.jetspeed.tools.pamanager.FileSystemPAM.sysDeploy(FileSystemPAM.java:297)
at org.apache.jetspeed.tools.pamanager.FileSystemPAM.deploy(FileSystemPAM.java:89)
at org.apache.jetspeed.tools.pamanager.CatalinaPAM.deploy(CatalinaPAM.java:76)
at org.apache.jetspeed.deployment.impl.DeployPortletAppEventListener.invoke(DeployPortletAppEventListener.java:114)
at org.apache.jetspeed.deployment.DeploymentEventDispatcher.dispatch(DeploymentEventDispatcher.java:64)
at org.apache.jetspeed.deployment.fs.FileSystemScanner.deployNewArtifacts(FileSystemScanner.java:125)
at org.apache.jetspeed.deployment.fs.FileSystemScanner.run(FileSystemScanner.java:88)
ERROR: Unable to register portlet application, HW_App, through the portlet registry: org.apache.jetspeed.tools.pamanager.PortletApplicationException: Could not
unmarshal portlet.xml. java.lang.InternalError: Can't instantiate Preferences factory java.lang.ClassNotFoundException: org.apache.jetspeed.prefs.impl.Preferenc
esFactoryImpl
org.apache.jetspeed.tools.pamanager.PortletApplicationException: Could not unmarshal portlet.xml. java.lang.InternalError: Can't instantiate Preferences factory
java.lang.ClassNotFoundException: org.apache.jetspeed.prefs.impl.PreferencesFactoryImpl
at org.apache.jetspeed.util.descriptor.PortletApplicationDescriptor.createPortletApplication(PortletApplicationDescriptor.java:172)
at org.apache.jetspeed.util.descriptor.PortletApplicationWar.createPortletApp(PortletApplicationWar.java:213)
at org.apache.jetspeed.tools.pamanager.FileSystemPAM.registerApplication(FileSystemPAM.java:346)
at org.apache.jetspeed.tools.pamanager.FileSystemPAM.sysDeploy(FileSystemPAM.java:297)
at org.apache.jetspeed.tools.pamanager.FileSystemPAM.deploy(FileSystemPAM.java:89)
at org.apache.jetspeed.tools.pamanager.CatalinaPAM.deploy(CatalinaPAM.java:76)
at org.apache.jetspeed.deployment.impl.DeployPortletAppEventListener.invoke(DeployPortletAppEventListener.java:114)
at org.apache.jetspeed.deployment.DeploymentEventDispatcher.dispatch(DeploymentEventDispatcher.java:64)
at org.apache.jetspeed.deployment.fs.FileSystemScanner.deployNewArtifacts(FileSystemScanner.java:125)
at org.apache.jetspeed.deployment.fs.FileSystemScanner.run(FileSystemScanner.java:88)
Caused by: java.lang.InternalError: Can't instantiate Preferences factory java.lang.ClassNotFoundException: org.apache.jetspeed.prefs.impl.PreferencesFactoryImp
l
at java.util.prefs.Preferences.<clinit>(Preferences.java:204)
at org.apache.jetspeed.om.preference.impl.PrefsPreference.createPrefenceNode(PrefsPreference.java:540)
at org.apache.jetspeed.om.preference.impl.PrefsPreference.<init>(PrefsPreference.java:73)
at org.apache.jetspeed.util.descriptor.PortletPreferenceRule.end(PortletPreferenceRule.java:74)
at org.apache.commons.digester.Digester.endElement(Digester.java:1058)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.commons.digester.Digester.parse(Digester.java:1586)
at org.apache.jetspeed.util.descriptor.PortletApplicationDescriptor.createPortletApplication(PortletApplicationDescriptor.java:146)
... 9 more
ERROR: Unexpected exception deploying portlet application: org.apache.jetspeed.components.portletregistry.RegistryException: Unable to register portlet applicat
ion, HW_App, through the portlet registry: org.apache.jetspeed.tools.pamanager.PortletApplicationException: Could not unmarshal portlet.xml. java.lang.InternalE
rror: Can't instantiate Preferences factory java.lang.ClassNotFoundException: org.apache.jetspeed.prefs.impl.PreferencesFactoryImpl attempting rollback...
org.apache.jetspeed.components.portletregistry.RegistryException: Unable to register portlet application, HW_App, through the portlet registry: org.apache.jetsp
eed.tools.pamanager.PortletApplicationException: Could not unmarshal portlet.xml. java.lang.InternalError: Can't instantiate Preferences factory java.lang.Class
NotFoundException: org.apache.jetspeed.prefs.impl.PreferencesFactoryImpl
at org.apache.jetspeed.tools.pamanager.FileSystemPAM.registerApplication(FileSystemPAM.java:383)
at org.apache.jetspeed.tools.pamanager.FileSystemPAM.sysDeploy(FileSystemPAM.java:297)
at org.apache.jetspeed.tools.pamanager.FileSystemPAM.deploy(FileSystemPAM.java:89)
at org.apache.jetspeed.tools.pamanager.CatalinaPAM.deploy(CatalinaPAM.java:76)
at org.apache.jetspeed.deployment.impl.DeployPortletAppEventListener.invoke(DeployPortletAppEventListener.java:114)
at org.apache.jetspeed.deployment.DeploymentEventDispatcher.dispatch(DeploymentEventDispatcher.java:64)
at org.apache.jetspeed.deployment.fs.FileSystemScanner.deployNewArtifacts(FileSystemScanner.java:125)
at org.apache.jetspeed.deployment.fs.FileSystemScanner.run(FileSystemScanner.java:88)
Caused by: org.apache.jetspeed.tools.pamanager.PortletApplicationException: Could not unmarshal portlet.xml. java.lang.InternalError: Can't instantiate Preferen
ces factory java.lang.ClassNotFoundException: org.apache.jetspeed.prefs.impl.PreferencesFactoryImpl
at org.apache.jetspeed.util.descriptor.PortletApplicationDescriptor.createPortletApplication(PortletApplicationDescriptor.java:172)
at org.apache.jetspeed.util.descriptor.PortletApplicationWar.createPortletApp(PortletApplicationWar.java:213)
at org.apache.jetspeed.tools.pamanager.FileSystemPAM.registerApplication(FileSystemPAM.java:346)
... 7 more
Caused by: java.lang.InternalError: Can't instantiate Preferences factory java.lang.ClassNotFoundException: org.apache.jetspeed.prefs.impl.PreferencesFactoryImp
l
at java.util.prefs.Preferences.<clinit>(Preferences.java:204)
at org.apache.jetspeed.om.preference.impl.PrefsPreference.createPrefenceNode(PrefsPreference.java:540)
at org.apache.jetspeed.om.preference.impl.PrefsPreference.<init>(PrefsPreference.java:73)
at org.apache.jetspeed.util.descriptor.PortletPreferenceRule.end(PortletPreferenceRule.java:74)
at org.apache.commons.digester.Digester.endElement(Digester.java:1058)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.commons.digester.Digester.parse(Digester.java:1586)
at org.apache.jetspeed.util.descriptor.PortletApplicationDescriptor.createPortletApplication(PortletApplicationDescriptor.java:146)
... 9 more
INFO: Exception in deploy. Rollback of application deployment...
INFO: Rollback: Remove C:\java\technologies\jakarta-tomcat\webapps/HW_App and all sub-directories.
ERROR: org.apache.jetspeed.deployment.DeploymentException: Error deploying portlet app: org.apache.jetspeed.tools.pamanager.PortletApplicationException: org.apa
che.jetspeed.components.portletregistry.RegistryException: Unable to register portlet application, HW_App, through the portlet registry: org.apache.jetspeed.too
ls.pamanager.PortletApplicationException: Could not unmarshal portlet.xml. java.lang.InternalError: Can't instantiate Preferences factory java.lang.ClassNotFoun
dException: org.apache.jetspeed.prefs.impl.PreferencesFactoryImpl
org.apache.jetspeed.deployment.DeploymentException: Error deploying portlet app: org.apache.jetspeed.tools.pamanager.PortletApplicationException: org.apache.jet
speed.components.portletregistry.RegistryException: Unable to register portlet application, HW_App, through the portlet registry: org.apache.jetspeed.tools.pama
nager.PortletApplicationException: Could not unmarshal portlet.xml. java.lang.InternalError: Can't instantiate Preferences factory java.lang.ClassNotFoundExcept
ion: org.apache.jetspeed.prefs.impl.PreferencesFactoryImpl
at org.apache.jetspeed.deployment.impl.DeployPortletAppEventListener.invoke(DeployPortletAppEventListener.java:128)
at org.apache.jetspeed.deployment.DeploymentEventDispatcher.dispatch(DeploymentEventDispatcher.java:64)
at org.apache.jetspeed.deployment.fs.FileSystemScanner.deployNewArtifacts(FileSystemScanner.java:125)
at org.apache.jetspeed.deployment.fs.FileSystemScanner.run(FileSystemScanner.java:88)
Caused by: org.apache.jetspeed.tools.pamanager.PortletApplicationException: org.apache.jetspeed.components.portletregistry.RegistryException: Unable to register
portlet application, HW_App, through the portlet registry: org.apache.jetspeed.tools.pamanager.PortletApplicationException: Could not unmarshal portlet.xml. ja
va.lang.InternalError: Can't instantiate Preferences factory java.lang.ClassNotFoundException: org.apache.jetspeed.prefs.impl.PreferencesFactoryImpl
at org.apache.jetspeed.tools.pamanager.FileSystemPAM.sysDeploy(FileSystemPAM.java:319)
at org.apache.jetspeed.tools.pamanager.FileSystemPAM.deploy(FileSystemPAM.java:89)
at org.apache.jetspeed.tools.pamanager.CatalinaPAM.deploy(CatalinaPAM.java:76)
at org.apache.jetspeed.deployment.impl.DeployPortletAppEventListener.invoke(DeployPortletAppEventListener.java:114)
... 3 more
Caused by: org.apache.jetspeed.components.portletregistry.RegistryException: Unable to register portlet application, HW_App, through the portlet registry: org.a
pache.jetspeed.tools.pamanager.PortletApplicationException: Could not unmarshal portlet.xml. java.lang.InternalError: Can't instantiate Preferences factory java
.lang.ClassNotFoundException: org.apache.jetspeed.prefs.impl.PreferencesFactoryImpl
at org.apache.jetspeed.tools.pamanager.FileSystemPAM.registerApplication(FileSystemPAM.java:383)
at org.apache.jetspeed.tools.pamanager.FileSystemPAM.sysDeploy(FileSystemPAM.java:297)
... 6 more
Caused by: org.apache.jetspeed.tools.pamanager.PortletApplicationException: Could not unmarshal portlet.xml. java.lang.InternalError: Can't instantiate Preferen
ces factory java.lang.ClassNotFoundException: org.apache.jetspeed.prefs.impl.PreferencesFactoryImpl
at org.apache.jetspeed.util.descriptor.PortletApplicationDescriptor.createPortletApplication(PortletApplicationDescriptor.java:172)
at org.apache.jetspeed.util.descriptor.PortletApplicationWar.createPortletApp(PortletApplicationWar.java:213)
at org.apache.jetspeed.tools.pamanager.FileSystemPAM.registerApplication(FileSystemPAM.java:346)
... 7 more
Caused by: java.lang.InternalError: Can't instantiate Preferences factory java.lang.ClassNotFoundException: org.apache.jetspeed.prefs.impl.PreferencesFactoryImp
l
at java.util.prefs.Preferences.<clinit>(Preferences.java:204)
at org.apache.jetspeed.om.preference.impl.PrefsPreference.createPrefenceNode(PrefsPreference.java:540)
at org.apache.jetspeed.om.preference.impl.PrefsPreference.<init>(PrefsPreference.java:73)
at org.apache.jetspeed.util.descriptor.PortletPreferenceRule.end(PortletPreferenceRule.java:74)
at org.apache.commons.digester.Digester.endElement(Digester.java:1058)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.commons.digester.Digester.parse(Digester.java:1586)
at org.apache.jetspeed.util.descriptor.PortletApplicationDescriptor.createPortletApplication(PortletApplicationDescriptor.java:146)
... 9 more
INFO: Loading portlet application from web archive C:\java\technologies\jakarta-tomcat\webapps\jetspeed\WEB-INF\deploy\jetspeed-layouts.war
INFO: Preparing to deploy portlet app "jetspeed"
INFO: jetspeed-layouts.war will be registered as a local portlet applicaiton.
INFO: Portlet application deployment target directory is jetspeed/jetspeed
INFO: Did not load exteneded metadata as it most likely does not exist. org.apache.commons.vfs.FileSystemException: Could not read from "jar:file://C:/java/te
chnologies/jakarta-tomcat/webapps/jetspeed/WEB-INF/deploy/jetspeed-layouts.war!/WEB-INF/jetspeed-portlet.xml" because it is a not a file.
INFO: Loading web.xml into memory....
INFO: Saving the portlet.xml in the registry...
INFO: Committing registry changes...
INFO: FileSystem deployment done.
INFO: Adding jar:file://C:/java/technologies/jakarta-tomcat/webapps/jetspeed/WEB-INF/deploy/jetspeed-layouts.war!/WEB-INF/classes
to class path.
INFO: Portlet app "jetspeed" successfuly deployed.
INFO: Loading portlet application from web archive C:\java\technologies\jakarta-tomcat\webapps\jetspeed\WEB-INF\deploy\pam.war
INFO: Preparing to deploy portlet app "pam"
INFO: Deploying portlet applicaion WAR pam.war
INFO: Portlet application deployment target directory is C:\java\technologies\jakarta-tomcat\webapps/pam
Writing out infused web.xml for pam
INFO: Loading web.xml into memory....
INFO: Saving the portlet.xml in the registry...
INFO: Committing registry changes...
INFO: FileSystem deployment done.
INFO: Catalina deployment response: OK - Application installTe pour le chemin de contexte /pam
INFO: Portlet app "pam" successfuly deployed.
INFO: Loading portlet application from web archive C:\java\technologies\jakarta-tomcat\webapps\jetspeed\WEB-INF\deploy\security.war
INFO: Preparing to deploy portlet app "security"
INFO: Deploying portlet applicaion WAR security.war
INFO: Portlet application deployment target directory is C:\java\technologies\jakarta-tomcat\webapps/security
Writing out infused web.xml for security
INFO: Loading web.xml into memory....
INFO: Saving the portlet.xml in the registry...
INFO: Committing registry changes...
INFO: FileSystem deployment done.
INFO: Catalina deployment response: OK - Application installTe pour le chemin de contexte /security
INFO: Portlet app "security" successfuly deployed.
INFO: Loading portlet application from web archive C:\java\technologies\jakarta-tomcat\webapps\jetspeed\WEB-INF\deploy\struts-demo.war
INFO: Preparing to deploy portlet app "struts-demo"
INFO: Deploying portlet applicaion WAR struts-demo.war
INFO: Portlet application deployment target directory is C:\java\technologies\jakarta-tomcat\webapps/struts-demo
Writing out infused web.xml for struts-demo
INFO: Did not load exteneded metadata as it most likely does not exist. org.apache.commons.vfs.FileSystemException: Could not read from "jar:file://C:/java/te
chnologies/jakarta-tomcat/webapps/jetspeed/WEB-INF/deploy/struts-demo.war!/WEB-INF/jetspeed-portlet.xml" because it is a not a file.
INFO: Loading web.xml into memory....
INFO: Saving the portlet.xml in the registry...
INFO: Committing registry changes...
INFO: FileSystem deployment done.
INFO: Catalina deployment response: OK - Application installTe pour le chemin de contexte /struts-demo
INFO: Portlet app "struts-demo" successfuly deployed.
So it seems that even within the J2 webapp there is a problem with the class loading of the preference factory. What is strange is that some PAs deployed, but I guess they don't use any preferences ?
Regards, Serge Huber.
At 16:43 21.06.2004, you wrote:
Hi Scott,
Actually I'm calling the FileSystemPAM from my own deployer, within Jahia. Maybe I'm missing something in my deployment ? I have the jetspeed-prefs*.jar in the WEB-INF/lib directory, along with all of J2, and I updated the assembly script a few hours ago.
I didn't test with auto-deploy, but I could to see if it works better.
Regards, Serge...
At 16:31 21.06.2004, you wrote:
Hi Serge,
Is this exception coming from auto-deployment? Because I am not having
any issues with deployment. I made PreferenceProviderImpl Startable so
this wouldn't happen, maybe this doesn't address all possible scenarios
though.
On Mon, 2004-06-21 at 10:23, Serge Huber wrote:
Hi,
I'm having some problem using the FileSystemPAM from within a web app
context (seems to work in the tests, which use the system class loader).
Basically I get the following exception :
java.lang.InternalError: Can't instantiate Preferences factory java.lang.ClassNotFoundException: org.apache.jetspeed.prefs.impl.PreferencesFactoryImpl
at java.util.prefs.Preferences.<clinit>(Preferences.java:204)
at
org.apache.jetspeed.om.preference.impl.PrefsPreference.createPrefenceNode(PrefsPreference.java:540)
at
org.apache.jetspeed.om.preference.impl.PrefsPreference.<init>(PrefsPreference.java:73)
at
org.apache.jetspeed.util.descriptor.PortletPreferenceRule.end(PortletPreferenceRule.java:74)
at
org.apache.commons.digester.Digester.endElement(Digester.java:1058)
at
org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown
Source) at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown
Source) at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
Source) at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
at
org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown
Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at
org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at
org.apache.commons.digester.Digester.parse(Digester.java:1586)
at
org.apache.jetspeed.util.descriptor.PortletApplicationDescriptor.createPortletApplication(PortletApplicationDescriptor.java:146)
at
org.apache.jetspeed.util.descriptor.PortletApplicationWar.createPortletApp(PortletApplicationWar.java:213)
at
org.apache.jetspeed.tools.pamanager.FileSystemPAM.registerApplication(FileSystemPAM.java:346)
at
org.apache.jetspeed.tools.pamanager.FileSystemPAM.sysDeploy(FileSystemPAM.java:297)
at
org.apache.jetspeed.tools.pamanager.FileSystemPAM.deploy(FileSystemPAM.java:89)
I looked at the JDK's source and found the following code when
loading the
PreferenceFactory implementation :
factory = (PreferencesFactory) Class.forName(factoryName, false, ClassLoader.getSystemClassLoader()).newInstance();
If this means what I think it does, the preference factory may only be
loaded from the root class loader, which means that we would need to
deploy
the jetspeed-prefs*.jar into Tomcat's classpath or something.
Is this analysis correct ? If so, how to we get around this ?
Regards, Serge Huber.
- -- --- -----=[ shuber2 at jahia dot com ]=---- --- -- - www.jahia.org : A collaborative source CMS and Portal Server
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
Regards, -- ****************************************** * Scott T. Weaver * * <[EMAIL PROTECTED]> * * <http://www.einnovation.com> * * -------------------------------------- * * Apache Jetspeed Enterprise Portal * * Apache Pluto Portlet Container * * * * OpenEditPro, Website Content Mangement * * <http://www.openeditpro.com> * ******************************************
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
- -- --- -----=[ shuber2 at jahia dot com ]=---- --- -- - www.jahia.org : A collaborative source CMS and Portal Server
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
- -- --- -----=[ shuber2 at jahia dot com ]=---- --- -- - www.jahia.org : A collaborative source CMS and Portal Server
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
- -- --- -----=[ shuber2 at jahia dot com ]=---- --- -- - www.jahia.org : A collaborative source CMS and Portal Server
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
- -- --- -----=[ shuber2 at jahia dot com ]=---- --- -- - www.jahia.org : A collaborative source CMS and Portal Server
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
