You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by jg...@apache.org on 2016/04/08 11:12:52 UTC
tomee git commit: Expose deployer ejb reload method through JMX
Repository: tomee
Updated Branches:
refs/heads/tomee-1.7.x f226b31ab -> 56ebcce39
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/56ebcce3
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/56ebcce3
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/56ebcce3
Branch: refs/heads/tomee-1.7.x
Commit: 56ebcce396838b394911c2641d79baa494341304
Parents: f226b31
Author: Jonathan Gallimore <jo...@jrg.me.uk>
Authored: Fri Apr 8 10:12:14 2016 +0100
Committer: Jonathan Gallimore <jo...@jrg.me.uk>
Committed: Fri Apr 8 10:12:14 2016 +0100
----------------------------------------------------------------------
.../assembler/monitoring/JMXDeployer.java | 23 ++++++++++++++++++++
1 file changed, 23 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tomee/blob/56ebcce3/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());