geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Forrest Xia (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (GERONIMO-6175) Environment variable org.apache.geronimo.repository.boot.path not used, Repository path does not observe named instances
Date Wed, 22 Feb 2012 02:58:48 GMT

    [ https://issues.apache.org/jira/browse/GERONIMO-6175?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13213218#comment-13213218
] 

Forrest Xia commented on GERONIMO-6175:
---------------------------------------

I compared the multiple instance feature with the one geronimo 2.1.x release in that discussion.

To answer your questions:
* With all the patches provided and applied under the GERONIMO-6270 umbrella, how close are
we now?
After our changes these days made under 6270 umbrella, I think we achieved the goal of re-enabling
the feature in Geronimo 3.0-beta branch. You can try to build a new 3.0-beta branch to see
if it works as you think.
* What do we have left to enable a safe run-time of multiple instances with a shared repository?
Found an issue in geronimo-6285, other potential impact to be discovered...
* And is it possible in G30, as indicated in the G20 docs, for each instance to have its own
primary repository and no shared repository?
It could be a new feature, but let's think what difference from multiple installation before
doing it.

Thanks for your contribution again!

                
> Environment variable org.apache.geronimo.repository.boot.path not used, Repository path
does not observe named instances
> ------------------------------------------------------------------------------------------------------------------------
>
>                 Key: GERONIMO-6175
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-6175
>             Project: Geronimo
>          Issue Type: Sub-task
>      Security Level: public(Regular issues) 
>    Affects Versions: 3.0, 3.0-beta-1
>         Environment: Linux x86, Red Hat Enterprise Linux Server release 5.4 (Tikanga)
>            Reporter: Russell E Glaue
>            Priority: Minor
>              Labels: geronimo
>
> I only list this issue as minor, as the issue does not prevent running Geronimo, or more
than one copy of Geronimo on a single server. However, this issue does prevent the proper
utilization of multiple named server instances.
> Two issues:
> # On startup, Geronimo does not use the repository relative to the named server instance
directory.
> # We are unable to set the repository with the property org.apache.geronimo.repository.boot.path
to be relative to the named server instance directory.
> From what I could decipher, these are the (or some) of the primary classes defining the
repository
> - framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/ConfigurationUtil.java
> - plugins/jaxws/geronimo-jaxws-sun-tools/src/main/java/org/apache/geronimo/jaxws/sun/tools/JAXWSToolsCLI.java
> - plugins/cxf/geronimo-cxf-tools/src/main/java/org/apache/geronimo/cxf/tools/JAXWSToolsCLI.java
> And the property "org.apache.geronimo.repository.boot.path" has a prepended "X" in each
of the three files.
> This tells me it was specifically disabled, and probably for some big issue.
> {noformat:borderStyle=solid}
> # framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/ConfigurationUtil.java
> ...
>         Collection repositories = null;
>         ArtifactResolver artifactResolver = null;
>         if (enableBootRepo) {
>             String repository = System.getProperty("Xorg.apache.geronimo.repository.boot.path",
"repository");
>             Maven2Repository bootRepository = new Maven2Repository(new File(getBootDirectory(),
repository));
>             repositories = Collections.singleton(bootRepository);
>             artifactResolver = new DefaultArtifactResolver(new DefaultArtifactManager(),
bootRepository);
>         } else {
>             // a bootstrap configuration can not have any dependencies
>             List dependencies = configurationData.getEnvironment().getDependencies();
>             if (!dependencies.isEmpty()) {
>                 configurationData.getEnvironment().setDependencies(Collections.EMPTY_SET);
>             }
>         }
> ...
> {noformat}
> To produce this issue, follow these steps:
> # Unpack the latest Geronimo javaee6 bundle as /opt/geronimo3
> # Create a Geronimo named instance directory as /opt/geronimo3/gserv1
> # Move the directories var, etc, and repository into /opt/geronimo3/gserv1
> # If patch GERONIMO-6275 in applied, start with this:
> -- env JAVA_HOME=/usr/jdk1.6.0 GERONIMO_SERVER=/opt/geronimo3/gserv1 /opt/geronimo3/bin/geronimo
run
> # Or. without the patch, Use this start script
> {noformat:borderStyle=solid}
> #!/bin/bash
> GHOME=/opt/geronimo3
> GVIRT=gserv1
> # Must change to the server directory in order to work around ActiveMQ lock
> # file conflict issue reported in GERONIMO-5987.
> cd ${GHOME}/${GVIRT}
> # Uncomment for the Workaround of issues in GERONIMO-6174
> export GERONIMO_TMPDIR=${GHOME}/${GVIRT}/var/temp
> GERONIMO_OPTS="${GERONIMO_OPTS} -Dkaraf.home=${GHOME}/${GVIRT}"
> #
> # Attempt to specify the correct root path to the repository for this
> # named server instance
> GERONIMO_OPTS="${GERONIMO_OPTS} -Dorg.apache.geronimo.repository.boot.path=${GHOME}/${GVIRT}/repository"
> #
> GERONIMO_OPTS="${GERONIMO_OPTS} -Dorg.apache.geronimo.server.name=${GVIRT}"
> export GERONIMO_OPTS
> ${GHOME}/bin/geronimo run
> {noformat}
> When starting the Geronimo named server instance with the above start script the following
error is experienced:
> {noformat:borderStyle=solid}
> [user@linux gserv1]# ./start.sh 
> Using GERONIMO_HOME:   /opt/geronimo3
> Using GERONIMO_TMPDIR: /opt/geronimo3/gserv1/var/temp
> Using JRE_HOME:        /usr/jdk1.6.0/jre
>                                                           
>      ______                       _                       
>     / ____/___  _________  ____  (_)____ ___  ____        
>    / / __ / _ \/ ___/ __ \/ __ \/ // __ `__ \/ __ \  
>   / /_/ //  __/ /  / /_/ / / / / // / / / / / /_/ /       
>   \____/ \___/_/   \____/_/ /_/_//_/ /_/ /_/\____/    
>   Apache Geronimo (3.0-SNAPSHOT)
> Hit '<tab>' for a list of available commands
> and '[cmd] --help' for help on a specific command.
> Hit '<ctrl-d>' or 'osgi:shutdown' to shutdown Geronimo.
> geronimo> 2011-09-26 15:01:25,752 ERROR [GBeanInstanceState] Error while starting;
GBean is now in the FAILED state: abstractName="org.apache.geronimo.framework/j2ee-system/3.0-SNAPSHOT/car?ServiceModule=org.apache.geronimo.framework/j2ee-system/3.0-SNAPSHOT/car,j2eeType=Repository,name=Repository"
> java.lang.IllegalStateException: Maven2Repository must have a root that's a valid readable
directory (not /opt/geronimo3/repository)
> 	at org.apache.geronimo.kernel.repository.AbstractRepository.<init>(AbstractRepository.java:51)
> 	at org.apache.geronimo.kernel.repository.Maven2Repository.<init>(Maven2Repository.java:32)
> 	at org.apache.geronimo.system.repository.Maven2Repository.<init>(Maven2Repository.java:36)
> 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> 	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> 	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> 	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> 	at org.apache.xbean.recipe.ReflectionUtil$ConstructorFactory.create(ReflectionUtil.java:958)
> 	at org.apache.xbean.recipe.ObjectRecipe.internalCreate(ObjectRecipe.java:276)
> 	at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:96)
> 	at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:61)
> 	at org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:958)
> 	at org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:271)
> 	at org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:105)
> 	at org.apache.geronimo.gbean.runtime.GBeanInstance.start(GBeanInstance.java:555)
> 	at org.apache.geronimo.gbean.runtime.GBeanDependency.attemptFullStart(GBeanDependency.java:110)
> 	at org.apache.geronimo.gbean.runtime.GBeanDependency.addTarget(GBeanDependency.java:145)
> 	at org.apache.geronimo.gbean.runtime.GBeanDependency$1.running(GBeanDependency.java:119)
> 	at org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEvent(BasicLifecycleMonitor.java:176)
> 	at org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$300(BasicLifecycleMonitor.java:45)
> 	at org.apache.geronimo.kernel.basic.BasicLifecycleMonitor$RawLifecycleBroadcaster.fireRunningEvent(BasicLifecycleMonitor.java:254)
> 	at org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:301)
> 	at org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:105)
> 	at org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:127)
> 	at org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:569)
> 	at org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:386)
> 	at org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:462)
> 	at org.apache.geronimo.kernel.config.ConfigurationUtil.loadBootstrapConfiguration(ConfigurationUtil.java:216)
> 	at org.apache.geronimo.system.osgi.BootActivator.start(BootActivator.java:70)
> 	at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)
> 	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
> 	at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
> 	at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:389)
> 	at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1131)
> 	at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559)
> 	at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544)
> 	at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457)
> 	at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
> 	at org.eclipse.osgi.framework.internal.core.EquinoxLauncher.internalStart(EquinoxLauncher.java:271)
> 	at org.eclipse.osgi.framework.internal.core.EquinoxLauncher.start(EquinoxLauncher.java:241)
> 	at org.eclipse.osgi.launch.Equinox.start(Equinox.java:258)
> 	at org.apache.geronimo.main.FrameworkLauncher.launchOSGiFramework(FrameworkLauncher.java:185)
> 	at org.apache.geronimo.main.FrameworkLauncher.launch(FrameworkLauncher.java:166)
> 	at org.apache.geronimo.main.Bootstrapper.execute(Bootstrapper.java:47)
> 	at org.apache.geronimo.cli.AbstractCLI.executeMain(AbstractCLI.java:65)
> 	at org.apache.geronimo.cli.daemon.DaemonCLI.main(DaemonCLI.java:32)
> 2011-09-26 15:01:25,868 WARN  [FeaturesServiceImpl] Unable to add features repository
mvn:org.apache.geronimo.features/openejb-feature/3.0-SNAPSHOT/xml/features at startup
> java.lang.RuntimeException: URL [mvn:org.apache.geronimo.features/openejb-feature/3.0-SNAPSHOT/xml/features]
could not be resolved.
> 	at org.ops4j.pax.url.mvn.internal.Connection.getInputStream(Connection.java:195)
> 	at org.apache.karaf.features.internal.FeatureValidationUtil.validate(FeatureValidationUtil.java:49)
> 	at org.apache.karaf.features.internal.FeaturesServiceImpl.validateRepository(FeaturesServiceImpl.java:199)
> 	at org.apache.karaf.features.internal.FeaturesServiceImpl.internalAddRepository(FeaturesServiceImpl.java:210)
> 	at org.apache.karaf.features.internal.FeaturesServiceImpl.loadState(FeaturesServiceImpl.java:1074)
> 	at org.apache.karaf.features.internal.FeaturesServiceImpl.start(FeaturesServiceImpl.java:914)
> 	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:597)
> 	at org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:226)
> 	at org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:824)
> 	at org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:636)
> 	at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:724)
> 	at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:64)
> 	at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:219)
> 	at org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:147)
> 	at org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:640)
> 	at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:331)
> 	at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:227)
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> 	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
> 	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> 	at java.lang.Thread.run(Thread.java:662)
> 2011-09-26 15:01:28,335 ERROR [GBeanInstanceState] Error while starting; GBean is now
in the FAILED state: abstractName="org.apache.geronimo.framework/j2ee-system/3.0-SNAPSHOT/car?ServiceModule=org.apache.geronimo.framework/j2ee-system/3.0-SNAPSHOT/car,j2eeType=Repository,name=Repository"
> java.lang.IllegalStateException: Maven2Repository must have a root that's a valid readable
directory (not /opt/geronimo3/repository)
> 	at org.apache.geronimo.kernel.repository.AbstractRepository.<init>(AbstractRepository.java:51)
> 	at org.apache.geronimo.kernel.repository.Maven2Repository.<init>(Maven2Repository.java:32)
> 	at org.apache.geronimo.system.repository.Maven2Repository.<init>(Maven2Repository.java:36)
> 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> 	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> 	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> 	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> 	at org.apache.xbean.recipe.ReflectionUtil$ConstructorFactory.create(ReflectionUtil.java:958)
> 	at org.apache.xbean.recipe.ObjectRecipe.internalCreate(ObjectRecipe.java:276)
> 	at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:96)
> 	at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:61)
> 	at org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:958)
> 	at org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:271)
> 	at org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:105)
> 	at org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:127)
> 	at org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:569)
> 	at org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:386)
> 	at org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:462)
> 	at org.apache.geronimo.kernel.config.ConfigurationUtil.loadBootstrapConfiguration(ConfigurationUtil.java:216)
> 	at org.apache.geronimo.system.osgi.BootActivator.start(BootActivator.java:70)
> 	at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)
> 	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
> 	at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
> 	at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:389)
> 	at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1131)
> 	at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559)
> 	at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544)
> 	at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457)
> 	at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
> 	at org.eclipse.osgi.framework.internal.core.EquinoxLauncher.internalStart(EquinoxLauncher.java:271)
> 	at org.eclipse.osgi.framework.internal.core.EquinoxLauncher.start(EquinoxLauncher.java:241)
> 	at org.eclipse.osgi.launch.Equinox.start(Equinox.java:258)
> 	at org.apache.geronimo.main.FrameworkLauncher.launchOSGiFramework(FrameworkLauncher.java:185)
> 	at org.apache.geronimo.main.FrameworkLauncher.launch(FrameworkLauncher.java:166)
> 	at org.apache.geronimo.main.Bootstrapper.execute(Bootstrapper.java:47)
> 	at org.apache.geronimo.cli.AbstractCLI.executeMain(AbstractCLI.java:65)
> 	at org.apache.geronimo.cli.daemon.DaemonCLI.main(DaemonCLI.java:32)
> Main not found
> {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message