virgo [dmserver] repositories [message #590605] |
Tue, 20 July 2010 00:27 |
ch Messages: 8 Registered: July 2010 |
Junior Member |
|
|
Hi,
I have a couple questions about repositories for the virgo osgi server (I'm using virgo-web-server-2.1.0.M02-incubation). I have searched this forum and spring dm server forum as well as the doco but have not found the answer.
1. As I understand it, all bundles/libraries deployed to repositories configured in $SERVER_HOME/config/org.eclipse.virgo.repository.properties (whether they are watched, external or remote - i assume it's the same.?.)? will get loaded into the "user" region. I only mention that because it may have something to do with the problem i am seeing.
I am seeing conflicts of many sorts by simply loading in other bundles into the user region, which i don't expect. For example, if I drop pax-web-jsp-0.5.2.jar into the repository/usr, a core virgo web plan can not be started and the user region/server can not be started. Here's the stack trace:
system-artifacts <DE0500E> Unable to install application from URI 'file:/opt/virgo-web-server-2.1.0.M02-incubation/repository/ ext/org.eclipse.virgo.web-2.1.0.M02-incubation.plan'. Cannot satisfy constraints for bundle 'org.eclipse.gemini.web.tomcat' version '1.1.0.M02-incubation'. Cannot resolve: org.eclipse.gemini.web.tomcat
Resolver report:
An Import-Package could not be resolved. Caused by missing constraint in bundle <org.eclipse.gemini.web.tomcat_1.1.0.M02-incubation>
constraint: <Import-Package: org.apache.catalina.connector; version="6.0.20.S2-r5956">
Uses violation: <Import-Package: javax.servlet.jsp; version="">
org.eclipse.virgo.kernel.osgi.framework.UnableToSatisfyBundl eDependenciesException: Unable to satisfy dependencies of bundle 'org.eclipse.gemini.web.tomcat' at version '1.1.0.M02-incubation': Cannot resolve: org.eclipse.gemini.web.tomcat
Resolver report:
An Import-Package could not be resolved. Caused by missing constraint in bundle <org.eclipse.gemini.web.tomcat_1.1.0.M02-incubation>
constraint: <Import-Package: org.apache.catalina.connector; version="6.0.20.S2-r5956">
Uses violation: <Import-Package: javax.servlet.jsp; version="">
at org.eclipse.virgo.kernel.install.pipeline.stage.resolve.inte rnal.QuasiResolveStage.process(QuasiResolveStage.java:45)
at org.eclipse.virgo.kernel.install.pipeline.internal.StandardP ipeline.doProcessTree(StandardPipeline.java:62)
at org.eclipse.virgo.kernel.install.pipeline.internal.Compensat ingPipeline.doProcessTree(CompensatingPipeline.java:72)
at org.eclipse.virgo.kernel.install.pipeline.stage.AbstractPipe lineStage.process(AbstractPipelineStage.java:41)
at org.eclipse.virgo.kernel.install.pipeline.internal.StandardP ipeline.doProcessTree(StandardPipeline.java:62)
at org.eclipse.virgo.kernel.install.pipeline.stage.AbstractPipe lineStage.process(AbstractPipelineStage.java:41)
at org.eclipse.virgo.kernel.deployer.core.internal.PipelinedApp licationDeployer.driveInstallPipeline(PipelinedApplicationDe ployer.java:268)
at org.eclipse.virgo.kernel.deployer.core.internal.PipelinedApp licationDeployer.doInstall(PipelinedApplicationDeployer.java :151)
at org.eclipse.virgo.kernel.deployer.core.internal.PipelinedApp licationDeployer.install(PipelinedApplicationDeployer.java:1 23)
at org.eclipse.virgo.kernel.deployer.core.internal.PipelinedApp licationDeployer.deploy(PipelinedApplicationDeployer.java:18 7)
at org.eclipse.virgo.kernel.userregion.internal.InitialArtifact Deployer$ArtifactDeployingRunnable.deployArtifacts(InitialAr tifactDeployer.java:155)
at org.eclipse.virgo.kernel.userregion.internal.InitialArtifact Deployer$ArtifactDeployingRunnable.run(InitialArtifactDeploy er.java:145)
at java.lang.Thread.run(Thread.java:619)
system-artifacts <UR0002E> User region failed while deploying initial artifacts. Shutting down.
Can anyone explain why this is happening?
2. Does the classpath management differ for bundles dropped into the 'pickup' directory rather than a repository?
If I simply move the pax-web-jsp-0.5.2.jar into the 'pickup' directory rather than the repository, then it won't deploy due to unresolved dependencies (fair enough), but at least the server starts and it does NOT seem to affect the virgo web as when it resides in the use or ext repository. I'm just trying to understand how the server works - from a classpath perspective what's different between the pickup dir (hot deploy) and a repository?
Here's the stack:
[2010-07-20 10:13:41.245] fs-watcher <HD0002E> Hot deploy failed for file 'pax-web-jsp-0.5.2.jar'. org.eclipse.virgo.kernel.deployer.core.DeploymentException: Dependency satisfaction failed
at org.eclipse.virgo.kernel.deployer.core.internal.PipelinedApp licationDeployer.driveInstallPipeline(PipelinedApplicationDe ployer.java:271)
at org.eclipse.virgo.kernel.deployer.core.internal.PipelinedApp licationDeployer.doInstall(PipelinedApplicationDeployer.java :151)
at org.eclipse.virgo.kernel.deployer.core.internal.PipelinedApp licationDeployer.install(PipelinedApplicationDeployer.java:1 23)
at org.eclipse.virgo.kernel.deployer.core.internal.PipelinedApp licationDeployer.deploy(PipelinedApplicationDeployer.java:18 7)
at org.eclipse.virgo.kernel.deployer.hot.HotDeploymentFileSyste mListener.deploy(HotDeploymentFileSystemListener.java:174)
at org.eclipse.virgo.kernel.deployer.hot.HotDeploymentFileSyste mListener.deployIfNotDeployed(HotDeploymentFileSystemListene r.java:186)
at org.eclipse.virgo.kernel.deployer.hot.HotDeploymentFileSyste mListener.onChange(HotDeploymentFileSystemListener.java:87)
at org.eclipse.virgo.util.io.FileSystemChecker.notifyListeners( FileSystemChecker.java:245)
at org.eclipse.virgo.util.io.FileSystemChecker.check(FileSystem Checker.java:166)
at org.eclipse.virgo.kernel.deployer.hot.WatchTask.run(WatchTas k.java:58)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.eclipse.virgo.kernel.osgi.framework.UnableToSatisfyBundl eDependenciesException: Unable to satisfy dependencies of bundle 'org.ops4j.pax.web.jsp' at version '0.5.2': Cannot resolve: org.ops4j.pax.web.jsp
Resolver report:
Uses violation: <Import-Package: javax.servlet.jsp; version="[2.1.0,3.0.0)"> in bundle <org.ops4j.pax.web.jsp_0.5.2>
Found conflicts:
package 'javax.el_1.0.0' in bundle 'com.springsource.javax.el_1.0.0' used by 'javax.servlet.jsp_2.1.0' in bundle 'com.springsource.javax.servlet.jsp_2.1.0'
conflicts with 'javax.el_2.1.0' in bundle 'org.ops4j.pax.web.jsp_0.5.2'
package 'javax.servlet.jsp.el_2.1.0' in bundle 'com.springsource.javax.servlet.jsp_2.1.0' used by 'javax.servlet.jsp_2.1.0' in bundle 'com.springsource.javax.servlet.jsp_2.1.0'
conflicts with 'javax.servlet.jsp.el_2.1.0' in bundle 'org.ops4j.pax.web.jsp_0.5.2'
package 'javax.servlet.jsp.tagext_2.1.0' in bundle 'com.springsource.javax.servlet.jsp_2.1.0' used by 'javax.servlet.jsp_2.1.0' in bundle 'com.springsource.javax.servlet.jsp_2.1.0'
conflicts with 'javax.servlet.jsp.tagext_2.1.0' in bundle 'org.ops4j.pax.web.jsp_0.5.2'
at org.eclipse.virgo.kernel.install.pipeline.stage.resolve.inte rnal.QuasiResolveStage.process(QuasiResolveStage.java:45)
at org.eclipse.virgo.kernel.install.pipeline.internal.StandardP ipeline.doProcessTree(StandardPipeline.java:62)
at org.eclipse.virgo.kernel.install.pipeline.internal.Compensat ingPipeline.doProcessTree(CompensatingPipeline.java:72)
at org.eclipse.virgo.kernel.install.pipeline.stage.AbstractPipe lineStage.process(AbstractPipelineStage.java:41)
at org.eclipse.virgo.kernel.install.pipeline.internal.StandardP ipeline.doProcessTree(StandardPipeline.java:62)
at org.eclipse.virgo.kernel.install.pipeline.stage.AbstractPipe lineStage.process(AbstractPipelineStage.java:41)
at org.eclipse.virgo.kernel.deployer.core.internal.PipelinedApp licationDeployer.driveInstallPipeline(PipelinedApplicationDe ployer.java:268)
... 10 common frames omitted
3. As it turns out, I don't really need pax-web-jsp-0.5.2.jar. I only copied it in because I am contemplating migrating from servicemix => virgo. There are a number of servicemix modules that our bundles require such as nmr, mq, etc so i copied in the 'system' jars from the servicemix build into the usr repository, thinking that it would make those third party bundles "available" and resolve the dependencies for my bundles but maybe this isn't going to work.
So - I wonder what the best way to do this is? I thought of pointing to the 'remote' springsource osgi repository (http://www.springsource.com/repository) but a) that repository doesn't have many of my required dependencies and b) it seems that I need to copy the repository locally as an external or watched repository. Is this correct?
4. Note that I also saw conflicts while dropping in pax-logging, particularly an older version. I also was not expecting that conflict, but can anyone confirm whether we should be able to use pax logging within virgo?
thanks much.
|
|
|
|
Powered by
FUDForum. Page generated in 0.03733 seconds