[jboss-svn-commits] JBL Code SVN: r15739 - in labs/jbossesb/trunk/product: tools/console/management/src/main/java/org/jboss/soa/esb/monitoring/server and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Oct 11 01:43:04 EDT 2007
Author: kevin.conner at jboss.com
Date: 2007-10-11 01:43:04 -0400 (Thu, 11 Oct 2007)
New Revision: 15739
Modified:
labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/lifecycle/LifecycleResourceManager.java
labs/jbossesb/trunk/product/tools/console/management/src/main/java/org/jboss/soa/esb/monitoring/server/DataFilerJob.java
labs/jbossesb/trunk/product/tools/console/management/src/main/java/org/jboss/soa/esb/monitoring/server/DataFilerScheduler.java
Log:
Fixed DataFilerJob context: JBESB-1120
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/lifecycle/LifecycleResourceManager.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/lifecycle/LifecycleResourceManager.java 2007-10-11 05:25:19 UTC (rev 15738)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/lifecycle/LifecycleResourceManager.java 2007-10-11 05:43:04 UTC (rev 15739)
@@ -203,7 +203,18 @@
readLock.lock() ;
try
{
- identity = identities.get(Thread.currentThread().getContextClassLoader()) ;
+ ClassLoader classLoader = Thread.currentThread().getContextClassLoader() ;
+ String currentIdentity = null ;
+ while(classLoader != null)
+ {
+ currentIdentity = identities.get(classLoader) ;
+ if (currentIdentity != null)
+ {
+ break ;
+ }
+ classLoader = classLoader.getParent() ;
+ }
+ identity = currentIdentity ;
}
finally
{
Modified: labs/jbossesb/trunk/product/tools/console/management/src/main/java/org/jboss/soa/esb/monitoring/server/DataFilerJob.java
===================================================================
--- labs/jbossesb/trunk/product/tools/console/management/src/main/java/org/jboss/soa/esb/monitoring/server/DataFilerJob.java 2007-10-11 05:25:19 UTC (rev 15738)
+++ labs/jbossesb/trunk/product/tools/console/management/src/main/java/org/jboss/soa/esb/monitoring/server/DataFilerJob.java 2007-10-11 05:43:04 UTC (rev 15739)
@@ -59,60 +59,69 @@
public void execute (JobExecutionContext jobExecutionContext)
throws JobExecutionException {
- DeliverOnlyCourier sender = null;
- logger.debug("Collect statistics from EPRs");
- List list;
- try {
- list = RegistryUtil.getEprs(FilerAction.INTERNAL_CATEGORY, FilerAction.DATA_COLLECTOR_SERVICE_ACTION_NAME);
- if (list != null) {
- for (int i = 0; i < list.size(); i++) {
- EPR epr = (EPR)list.get(i);
- // Send message requesting performance data
- Message esbMessage = MessageFactory.getInstance().getMessage();
- esbMessage.getProperties().setProperty(MessageBodyTypeNames.COMMAND_TYPE, MessageBodyTypeNames.STATISTICS_REQUEST);
- esbMessage.getBody().add(BytesBody.BYTES_LOCATION, "get statistics".getBytes());
-
- URI uri = new URI(UUID.randomUUID().toString());
- esbMessage.getHeader().getCall().setMessageID(uri);
-
- try {
- sender = CourierFactory.getCourier(epr);
- sender.deliver(esbMessage);
- } finally {
- CourierUtil.cleanCourier(sender);
- }
- }
- }
-
- list = RegistryUtil.getEprs(FilerAction.INTERNAL_CATEGORY, FilerAction.OPERATIONS_COLLECTOR_SERVICE_ACTION_NAME);
- if (list != null) {
- for (int i = 0; i < list.size(); i++) {
- EPR epr = (EPR)list.get(i);
- // Send message requesting operations data
- Message opMessage = MessageFactory.getInstance().getMessage();
- opMessage.getProperties().setProperty(MessageBodyTypeNames.COMMAND_TYPE, MessageBodyTypeNames.OPERATIONS_REQUEST);
- opMessage.getBody().add(BytesBody.BYTES_LOCATION, "get statistics".getBytes());
-
- URI opURI = new URI(UUID.randomUUID().toString());
- opMessage.getHeader().getCall().setMessageID(opURI);
- try{
- sender = CourierFactory.getCourier(epr);
- sender.deliver(opMessage);
- } finally {
- CourierUtil.cleanCourier(sender);
- }
- }
- }
- } catch (RegistryException e) {
- logger.error("", e);
- } catch (CourierException e) {
- logger.error("", e);
- } catch (MalformedEPRException e) {
- logger.error("", e);
- } catch (URISyntaxException e) {
- logger.error("", e);
- } catch (ServiceNotFoundException e) {
- logger.error("", e);
- }
+ final ClassLoader currentClassLoader = Thread.currentThread().getContextClassLoader() ;
+ try
+ {
+ Thread.currentThread().setContextClassLoader((ClassLoader)jobExecutionContext.getJobDetail().getJobDataMap().get(ClassLoader.class.getName())) ;
+ DeliverOnlyCourier sender = null;
+ logger.debug("Collect statistics from EPRs");
+ List list;
+ try {
+ list = RegistryUtil.getEprs(FilerAction.INTERNAL_CATEGORY, FilerAction.DATA_COLLECTOR_SERVICE_ACTION_NAME);
+ if (list != null) {
+ for (int i = 0; i < list.size(); i++) {
+ EPR epr = (EPR)list.get(i);
+ // Send message requesting performance data
+ Message esbMessage = MessageFactory.getInstance().getMessage();
+ esbMessage.getProperties().setProperty(MessageBodyTypeNames.COMMAND_TYPE, MessageBodyTypeNames.STATISTICS_REQUEST);
+ esbMessage.getBody().add(BytesBody.BYTES_LOCATION, "get statistics".getBytes());
+
+ URI uri = new URI(UUID.randomUUID().toString());
+ esbMessage.getHeader().getCall().setMessageID(uri);
+
+ try {
+ sender = CourierFactory.getCourier(epr);
+ sender.deliver(esbMessage);
+ } finally {
+ CourierUtil.cleanCourier(sender);
+ }
+ }
+ }
+
+ list = RegistryUtil.getEprs(FilerAction.INTERNAL_CATEGORY, FilerAction.OPERATIONS_COLLECTOR_SERVICE_ACTION_NAME);
+ if (list != null) {
+ for (int i = 0; i < list.size(); i++) {
+ EPR epr = (EPR)list.get(i);
+ // Send message requesting operations data
+ Message opMessage = MessageFactory.getInstance().getMessage();
+ opMessage.getProperties().setProperty(MessageBodyTypeNames.COMMAND_TYPE, MessageBodyTypeNames.OPERATIONS_REQUEST);
+ opMessage.getBody().add(BytesBody.BYTES_LOCATION, "get statistics".getBytes());
+
+ URI opURI = new URI(UUID.randomUUID().toString());
+ opMessage.getHeader().getCall().setMessageID(opURI);
+ try{
+ sender = CourierFactory.getCourier(epr);
+ sender.deliver(opMessage);
+ } finally {
+ CourierUtil.cleanCourier(sender);
+ }
+ }
+ }
+ } catch (RegistryException e) {
+ logger.error("", e);
+ } catch (CourierException e) {
+ logger.error("", e);
+ } catch (MalformedEPRException e) {
+ logger.error("", e);
+ } catch (URISyntaxException e) {
+ logger.error("", e);
+ } catch (ServiceNotFoundException e) {
+ logger.error("", e);
+ }
+ }
+ finally
+ {
+ Thread.currentThread().setContextClassLoader(currentClassLoader) ;
+ }
}
}
Modified: labs/jbossesb/trunk/product/tools/console/management/src/main/java/org/jboss/soa/esb/monitoring/server/DataFilerScheduler.java
===================================================================
--- labs/jbossesb/trunk/product/tools/console/management/src/main/java/org/jboss/soa/esb/monitoring/server/DataFilerScheduler.java 2007-10-11 05:25:19 UTC (rev 15738)
+++ labs/jbossesb/trunk/product/tools/console/management/src/main/java/org/jboss/soa/esb/monitoring/server/DataFilerScheduler.java 2007-10-11 05:43:04 UTC (rev 15739)
@@ -24,6 +24,7 @@
import java.util.Date;
import org.apache.log4j.Logger;
+import org.quartz.JobDataMap;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
@@ -60,6 +61,11 @@
scheduler.deleteJob(DataFilerJob.JOB_GROUP, DataFilerJob.JOB_NAME);
JobDetail jobDetail = new JobDetail(DataFilerJob.JOB_GROUP, DataFilerJob.JOB_NAME, DataFilerJob.class);
+
+ final JobDataMap datamap = new JobDataMap() ;
+ datamap.put(ClassLoader.class.getName(), Thread.currentThread().getContextClassLoader()) ;
+ jobDetail.setJobDataMap(datamap) ;
+
SimpleTrigger simpleTrigger = new SimpleTrigger(DataFilerJob.JOB_GROUP, DataFilerJob.JOB_NAME);
simpleTrigger.setStartTime(new Date(ctime));
simpleTrigger.setRepeatInterval(1000 * 60 * pollMinuteFrequency);
More information about the jboss-svn-commits
mailing list