Repository: tomee Updated Branches: refs/heads/master 12711a1b3 -> 6f40e6f8c
Expose deployer ejb reload method through JMX Project: http://git-wip-us.apache.org/repos/asf/tomee/repo Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/6f40e6f8 Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/6f40e6f8 Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/6f40e6f8 Branch: refs/heads/master Commit: 6f40e6f8c49b1f98ea44eea2a2e16655d806d517 Parents: 12711a1 Author: Jonathan Gallimore <[email protected]> Authored: Fri Apr 8 10:12:14 2016 +0100 Committer: Jonathan Gallimore <[email protected]> Committed: Fri Apr 8 10:21:32 2016 +0100 ---------------------------------------------------------------------- .../assembler/monitoring/JMXDeployer.java | 23 ++++++++++++++++++++ 1 file changed, 23 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tomee/blob/6f40e6f8/container/openejb-core/src/main/java/org/apache/openejb/assembler/monitoring/JMXDeployer.java ---------------------------------------------------------------------- diff --git a/container/openejb-core/src/main/java/org/apache/openejb/assembler/monitoring/JMXDeployer.java b/container/openejb-core/src/main/java/org/apache/openejb/assembler/monitoring/JMXDeployer.java index c57ca81..f0cd7c2 100644 --- a/container/openejb-core/src/main/java/org/apache/openejb/assembler/monitoring/JMXDeployer.java +++ b/container/openejb-core/src/main/java/org/apache/openejb/assembler/monitoring/JMXDeployer.java @@ -72,7 +72,30 @@ public class JMXDeployer { return new String[]{"ERR:" + e.getMessage()}; } } + @ManagedOperation + @Description("Reload the specified application") + public String reload(final String moduleId) { + try { + final Collection<AppInfo> apps = deployer().getDeployedApps(); + boolean found = false; + for (final AppInfo info : apps) { + if (info.path.equals(moduleId)) { + found = true; + } + } + + if (found) { + deployer().reload(moduleId); + return "OK"; + } else { + return "NOT FOUND"; + } + } catch (final Exception e) { + return "ERR:" + e.getMessage(); + } + } + private static Deployer deployer() throws NamingException { final Properties p = new Properties(); p.setProperty(Context.INITIAL_CONTEXT_FACTORY, LocalInitialContextFactory.class.getName());
