portals-jetspeed-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Serge Huber <shub...@jahia.com>
Subject Re: [J2] Using FileSystem PAM from web app class loader
Date Mon, 21 Jun 2004 17:46:10 GMT

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.

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 ?

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: jetspeed-dev-unsubscribe@jakarta.apache.org
>>>> > For additional commands, e-mail: jetspeed-dev-help@jakarta.apache.org
>>>>
>>>>Regards,
>>>>--
>>>>******************************************
>>>>*           Scott T. Weaver              *
>>>>*         <weaver@apache.org>            *
>>>>*     <http://www.einnovation.com>       *
>>>>* -------------------------------------- *
>>>>*   Apache Jetspeed Enterprise Portal    *
>>>>*     Apache Pluto Portlet Container     *
>>>>*                                        *
>>>>* OpenEditPro, Website Content Mangement *
>>>>*     <http://www.openeditpro.com>       *
>>>>******************************************
>>>>
>>>>
>>>>---------------------------------------------------------------------
>>>>To unsubscribe, e-mail: jetspeed-dev-unsubscribe@jakarta.apache.org
>>>>For additional commands, e-mail: jetspeed-dev-help@jakarta.apache.org
>>>
>>>- -- --- -----=[ shuber2 at jahia dot com ]=---- --- -- -
>>>www.jahia.org : A collaborative source CMS and Portal Server
>>>
>>>
>>>---------------------------------------------------------------------
>>>To unsubscribe, e-mail: jetspeed-dev-unsubscribe@jakarta.apache.org
>>>For additional commands, e-mail: jetspeed-dev-help@jakarta.apache.org
>>
>>- -- --- -----=[ shuber2 at jahia dot com ]=---- --- -- -
>>www.jahia.org : A collaborative source CMS and Portal Server
>>
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: jetspeed-dev-unsubscribe@jakarta.apache.org
>>For additional commands, e-mail: jetspeed-dev-help@jakarta.apache.org
>
>- -- --- -----=[ shuber2 at jahia dot com ]=---- --- -- -
>www.jahia.org : A collaborative source CMS and Portal Server
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: jetspeed-dev-unsubscribe@jakarta.apache.org
>For additional commands, e-mail: jetspeed-dev-help@jakarta.apache.org

- -- --- -----=[ shuber2 at jahia dot com ]=---- --- -- -
www.jahia.org : A collaborative source CMS and Portal Server 



---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jetspeed-dev-help@jakarta.apache.org


Mime
View raw message