How to set JAVA_HOME when running Fuse as a wrapper service?
Issue
-
When starting JBoss Fuse 6.0 in the background using
"./start"command, it runs using java 1.7 without problems and It can be connected to the running session using"./client -a PortNumber -u userName -p password"command. -
when starting JBoss Fuse 6.0 as a wrapper service, it runs using java 1.6 (the default version available at the operating system) without problems and It can be connected to the running session using
"./client -a PortNumber -u userName -p password"command. -
The problem is when there is a need of JBoss Fuse 6.0 service to point to
jdk1.7.0_40, How can I do that? -
After editing these files
"bin/jbossFuseTest-service"and"etc/jbossFuseTest-wrapper.conf"to set theJAVA_HOMEwithjdk1.7home and starting JBoss Fuse service, the service does not start withjdk1.7.0_40rather always starts with default JDK shipped by OS (i.e. 1.6 JDK) and it is not able to connect to the running JBOSS Fuse session using this command"./client -a 8100 -u admin -p admin", when I tried it throws error"Failed to get session". With the following exception on fuse log:
16:37:16,968 | INFO | t-60024-thread-2 | SecurityUtils | 32 - org.apache.sshd.core - 0.8.0 | BouncyCastle not registered, using the default JCE provider
16:37:17,131 | ERROR | t-60024-thread-2 | BlueprintContainerImpl | 14 - org.apache.aries.blueprint.core - 1.0.1.redhat-60024 | Unable to start blueprint container for bundle org.apache.karaf.shell.ssh
org.osgi.service.blueprint.container.ComponentDefinitionException: Error when instantiating bean sshServer of class class org.apache.sshd.SshServer
at org.apache.aries.blueprint.container.BeanRecipe.getInstance(BeanRecipe.java:315)[14:org.apache.aries.blueprint.core:1.0.1.redhat-60024]
at org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:806)[14:org.apache.aries.blueprint.core:1.0.1.redhat-60024]
at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:787)[14:org.apache.aries.blueprint.core:1.0.1.redhat-60024]
at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:106)[14:org.apache.aries.blueprint.core:1.0.1.redhat-60024]
at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:245)[14:org.apache.aries.blueprint.core:1.0.1.redhat-60024]
at org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:183)[14:org.apache.aries.blueprint.core:1.0.1.redhat-60024]
at org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:667)[14:org.apache.aries.blueprint.core:1.0.1.redhat-60024]
at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:370)[14:org.apache.aries.blueprint.core:1.0.1.redhat-60024]
at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:261)[14:org.apache.aries.blueprint.core:1.0.1.redhat-60024]
at org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:270)[14:org.apache.aries.blueprint.core:1.0.1.redhat-60024]
at org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:233)[14:org.apache.aries.blueprint.core:1.0.1.redhat-60024]
at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)[13:org.apache.aries.util:1.0.1.redhat-60024]
at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)[13:org.apache.aries.util:1.0.1.redhat-60024]
at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)[13:org.apache.aries.util:1.0.1.redhat-60024]
at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)[13:org.apache.aries.util:1.0.1.redhat-60024]
at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)[13:org.apache.aries.util:1.0.1.redhat-60024]
at org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1103)[org.apache.felix.framework-4.0.3.redhat-60024.jar:]
at org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:696)[org.apache.felix.framework-4.0.3.redhat-60024.jar:]
at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:484)[org.apache.felix.framework-4.0.3.redhat-60024.jar:]
at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4580)[org.apache.felix.framework-4.0.3.redhat-60024.jar:]
at org.apache.felix.framework.Felix$4.run(Felix.java:2115)[org.apache.felix.framework-4.0.3.redhat-60024.jar:]
at org.apache.felix.framework.Felix$5.run(Felix.java:2159)[org.apache.felix.framework-4.0.3.redhat-60024.jar:]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)[:1.6.0_45]
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)[:1.6.0_45]
at java.util.concurrent.FutureTask.run(FutureTask.java:138)[:1.6.0_45]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)[:1.6.0_45]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)[:1.6.0_45]
at java.lang.Thread.run(Thread.java:662)[:1.6.0_45]
Caused by: java.lang.UnsupportedClassVersionError: com/sun/crypto/provider/SunJCE : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)[:1.6.0_45]
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)[:1.6.0_45]
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)[:1.6.0_45]
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)[:1.6.0_45]
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)[:1.6.0_45]
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)[:1.6.0_45]
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)[:1.6.0_45]
at java.security.AccessController.doPrivileged(Native Method)[:1.6.0_45]
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)[:1.6.0_45]
at sun.misc.Launcher$ExtClassLoader.findClass(Launcher.java:229)[:1.6.0_45]
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)[:1.6.0_45]
at java.lang.ClassLoader.loadClass(ClassLoader.java:295)[:1.6.0_45]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)[:1.6.0_45]
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)[:1.6.0_45]
at sun.security.jca.ProviderConfig$3.run(ProviderConfig.java:234)[:1.6.0_45]
at java.security.AccessController.doPrivileged(Native Method)[:1.6.0_45]
at sun.security.jca.ProviderConfig.doLoadProvider(ProviderConfig.java:225)[:1.6.0_45]
at sun.security.jca.ProviderConfig.getProvider(ProviderConfig.java:205)[:1.6.0_45]
at sun.security.jca.ProviderList.getProvider(ProviderList.java:215)[:1.6.0_45]
at sun.security.jca.ProviderList$ServiceList.tryGet(ProviderList.java:416)[:1.6.0_45]
at sun.security.jca.ProviderList$ServiceList.access$200(ProviderList.java:358)[:1.6.0_45]
at sun.security.jca.ProviderList$ServiceList$1.hasNext(ProviderList.java:468)[:1.6.0_45]
at javax.crypto.Cipher.getInstance(DashoA13*..)
at org.apache.sshd.common.util.SecurityUtils.getCipher(SecurityUtils.java:118)[32:org.apache.sshd.core:0.8.0]
at org.apache.sshd.common.cipher.BaseCipher.init(BaseCipher.java:59)
at org.apache.sshd.SshServer.setUpDefaultCiphers(SshServer.java:504)[32:org.apache.sshd.core:0.8.0]
at org.apache.sshd.SshServer.setUpDefaultServer(SshServer.java:458)[32:org.apache.sshd.core:0.8.0]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.6.0_45]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)[:1.6.0_45]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)[:1.6.0_45]
at java.lang.reflect.Method.invoke(Method.java:597)[:1.6.0_45]
at org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:297)[14:org.apache.aries.blueprint.core:1.0.1.redhat-60024]
at org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:958)[14:org.apache.aries.blueprint.core:1.0.1.redhat-60024]
at org.apache.aries.blueprint.container.BeanRecipe.getInstance(BeanRecipe.java:313)[14:org.apache.aries.blueprint.core:1.0.1.redhat-60024]
... 27 more
- I don't see where one specifies setting JAVA_HOME? I tried setting in jboss-amq-service:
# If require, set the JAVA_HOME to launch the wrapper
#
JAVA_HOME=/vendor/jdk
but got in wrapper.log:
STATUS | wrapper | 2015/06/03 16:07:35 | Launching a JVM...
ERROR | wrapper | 2015/06/03 16:07:35 | Unable to start JVM: No such file or directory (2)
ERROR | wrapper | 2015/06/03 16:07:35 | JVM exited while loading the application.
Environment
- Red Hat JBoss Fuse
- 6.0
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.