Mercurial > hg > thermostat-ng > agent
changeset 2435:2bb866bd090e
Load jffi-native as a bundle fragment
Reviewed-by: jerboaa
Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2016-August/020707.html
author | Elliott Baron <ebaron@redhat.com> |
---|---|
date | Tue, 30 Aug 2016 11:18:08 -0400 |
parents | 46b76de8b058 |
children | 7fedcccddf46 |
files | dev/ipc-test/test-launcher/scripts/run.sh dev/ipc-test/test-launcher/src/main/java/com/redhat/thermostat/dev/ipc/test/launcher/internal/TestLauncher.java dev/ipc-test/test-launcher/src/main/resources/com/redhat/thermostat/dev/ipc/test/launcher/internal/bundles.properties distribution/config/commands/agent.properties distribution/config/commands/service.properties distribution/scripts/thermostat pom.xml vm-byteman/distribution/thermostat-plugin.xml web/endpoint-plugin/distribution/thermostat-plugin.xml |
diffstat | 9 files changed, 25 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/dev/ipc-test/test-launcher/scripts/run.sh Tue Aug 30 11:16:51 2016 -0400 +++ b/dev/ipc-test/test-launcher/scripts/run.sh Tue Aug 30 11:18:08 2016 -0400 @@ -4,6 +4,5 @@ . ${thermostat.home}/bin/thermostat-common CLASSPATH=".:${thermostat.home}/libs/org.apache.felix.framework-${felix.framework.version}.jar" -CLASSPATH="${CLASSPATH}:${thermostat.home}/libs/jffi-${jffi.version}-native.jar" CLASSPATH="${CLASSPATH}:${project.parent.basedir}/test-server/target/thermostat-dev-ipc-test-server-${project.version}.jar" exec ${JAVA} -cp "${CLASSPATH}" com.redhat.thermostat.dev.ipc.test.launcher.internal.TestLauncher
--- a/dev/ipc-test/test-launcher/src/main/java/com/redhat/thermostat/dev/ipc/test/launcher/internal/TestLauncher.java Tue Aug 30 11:16:51 2016 -0400 +++ b/dev/ipc-test/test-launcher/src/main/java/com/redhat/thermostat/dev/ipc/test/launcher/internal/TestLauncher.java Tue Aug 30 11:18:08 2016 -0400 @@ -39,6 +39,7 @@ import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; +import java.util.Dictionary; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -122,19 +123,33 @@ // Start bundles for (Bundle bundle : installed) { - bundle.start(); - System.out.println("BundleLoader: starting bundle: \"" + bundle.getSymbolicName() + "\""); + if (isFragment(bundle)) { + System.out.println("BundleLoader: not starting fragment bundle: \"" + bundle.getSymbolicName() + "\""); + } else { + bundle.start(); + System.out.println("BundleLoader: starting bundle: \"" + bundle.getSymbolicName() + "\""); + } } // Okay to shutdown now started.countDown(); } + private static boolean isFragment(Bundle bundle) { + Dictionary<String, String> headers = bundle.getHeaders(); + String fragHost = headers.get(Constants.FRAGMENT_HOST); + return fragHost != null; + } + private static void shutdown(Framework framework, List<Bundle> bundles) throws BundleException { try { for (Bundle bundle : bundles) { - printStoppingBundle(bundle); - bundle.stop(); + if (isFragment(bundle)) { + System.out.println("BundleLoader: not stopping fragment bundle: \"" + bundle.getSymbolicName() + "\""); + } else { + printStoppingBundle(bundle); + bundle.stop(); + } } } finally { // Shut down the framework
--- a/dev/ipc-test/test-launcher/src/main/resources/com/redhat/thermostat/dev/ipc/test/launcher/internal/bundles.properties Tue Aug 30 11:16:51 2016 -0400 +++ b/dev/ipc-test/test-launcher/src/main/resources/com/redhat/thermostat/dev/ipc/test/launcher/internal/bundles.properties Tue Aug 30 11:18:08 2016 -0400 @@ -12,6 +12,7 @@ ${thermostat.home}/libs/jnr-ffi-${jnr-ffi.version}.jar, \ ${thermostat.home}/libs/jnr-x86asm-${jnr-x86asm.version}.jar, \ ${thermostat.home}/libs/jffi-${jffi.version}.jar, \ + ${thermostat.home}/libs/jffi-${jffi.version}-native.jar, \ ${thermostat.home}/libs/asm-${asm.version}.jar, \ ${thermostat.home}/libs/asm-commons-${asm.version}.jar, \ ${thermostat.home}/libs/asm-util-${asm.version}.jar, \
--- a/distribution/config/commands/agent.properties Tue Aug 30 11:16:51 2016 -0400 +++ b/distribution/config/commands/agent.properties Tue Aug 30 11:18:08 2016 -0400 @@ -21,6 +21,7 @@ ${jnr-ffi.bundle.symbolic.name}=${jnr-ffi.version}, \ ${jnr-x86asm.bundle.symbolic.name}=${jnr-x86asm.version}, \ ${jffi.bundle.symbolic.name}=${jffi.version}, \ + ${jffi-native.bundle.symbolic.name}=${jffi.version}, \ org.objectweb.asm=${asm.version}, \ org.objectweb.asm.commons=${asm.version}, \ org.objectweb.asm.util=${asm.version}, \
--- a/distribution/config/commands/service.properties Tue Aug 30 11:16:51 2016 -0400 +++ b/distribution/config/commands/service.properties Tue Aug 30 11:18:08 2016 -0400 @@ -21,6 +21,7 @@ ${jnr-ffi.bundle.symbolic.name}=${jnr-ffi.version}, \ ${jnr-x86asm.bundle.symbolic.name}=${jnr-x86asm.version}, \ ${jffi.bundle.symbolic.name}=${jffi.version}, \ + ${jffi-native.bundle.symbolic.name}=${jffi.version}, \ org.objectweb.asm=${asm.version}, \ org.objectweb.asm.commons=${asm.version}, \ org.objectweb.asm.util=${asm.version}, \
--- a/distribution/scripts/thermostat Tue Aug 30 11:16:51 2016 -0400 +++ b/distribution/scripts/thermostat Tue Aug 30 11:18:08 2016 -0400 @@ -49,7 +49,6 @@ # This is the minimal boot classpath thermostat needs. Other dependencies # will get started by the OSGi framework once that's up. BOOT_CLASSPATH="${THERMOSTAT_LIBS}/org.apache.felix.framework-@felix.framework.version@.jar" -BOOT_CLASSPATH="${BOOT_CLASSPATH}:${THERMOSTAT_LIBS}/jffi-@jffi.version@-native.jar" BOOT_CLASSPATH="${BOOT_CLASSPATH}:${THERMOSTAT_LIBS}/thermostat-launcher-@project.version@.jar" BOOT_CLASSPATH="${BOOT_CLASSPATH}:${THERMOSTAT_LIBS}/thermostat-main-@project.version@.jar" BOOT_CLASSPATH="${BOOT_CLASSPATH}:${THERMOSTAT_LIBS}/thermostat-shared-config-@project.version@.jar"
--- a/pom.xml Tue Aug 30 11:16:51 2016 -0400 +++ b/pom.xml Tue Aug 30 11:18:08 2016 -0400 @@ -248,6 +248,7 @@ <jnr-x86asm.bundle.symbolic.name>com.github.jnr.x86asm</jnr-x86asm.bundle.symbolic.name> <jnr-x86asm.version>1.0.2</jnr-x86asm.version> <jffi.bundle.symbolic.name>com.github.jnr.jffi</jffi.bundle.symbolic.name> + <jffi-native.bundle.symbolic.name>com.github.jnr.jffi.native</jffi-native.bundle.symbolic.name> <jffi.version>1.2.12</jffi.version> <jline.version>2.13</jline.version>
--- a/vm-byteman/distribution/thermostat-plugin.xml Tue Aug 30 11:16:51 2016 -0400 +++ b/vm-byteman/distribution/thermostat-plugin.xml Tue Aug 30 11:18:08 2016 -0400 @@ -129,6 +129,7 @@ <bundle><symbolic-name>${jnr-ffi.bundle.symbolic.name}</symbolic-name><version>${jnr-ffi.version}</version></bundle> <bundle><symbolic-name>${jnr-x86asm.bundle.symbolic.name}</symbolic-name><version>${jnr-x86asm.version}</version></bundle> <bundle><symbolic-name>${jffi.bundle.symbolic.name}</symbolic-name><version>${jffi.version}</version></bundle> + <bundle><symbolic-name>${jffi-native.bundle.symbolic.name}</symbolic-name><version>${jffi.version}</version></bundle> <bundle><symbolic-name>org.objectweb.asm</symbolic-name><version>${asm.version}</version></bundle> </bundles> </extension>
--- a/web/endpoint-plugin/distribution/thermostat-plugin.xml Tue Aug 30 11:16:51 2016 -0400 +++ b/web/endpoint-plugin/distribution/thermostat-plugin.xml Tue Aug 30 11:18:08 2016 -0400 @@ -90,6 +90,7 @@ <bundle><symbolic-name>${jnr-ffi.bundle.symbolic.name}</symbolic-name><version>${jnr-ffi.version}</version></bundle> <bundle><symbolic-name>${jnr-x86asm.bundle.symbolic.name}</symbolic-name><version>${jnr-x86asm.version}</version></bundle> <bundle><symbolic-name>${jffi.bundle.symbolic.name}</symbolic-name><version>${jffi.version}</version></bundle> + <bundle><symbolic-name>${jffi-native.bundle.symbolic.name}</symbolic-name><version>${jffi.version}</version></bundle> <bundle><symbolic-name>org.objectweb.asm</symbolic-name><version>${asm.version}</version></bundle> <bundle><symbolic-name>org.objectweb.asm.commons</symbolic-name><version>${asm.version}</version></bundle> <bundle><symbolic-name>org.objectweb.asm.util</symbolic-name><version>${asm.version}</version></bundle>