svn commit: r1174990 - in /ofbiz/branches/release10.04: ./ framework/entity/src/org/ofbiz/entity/ framework/service/src/org/ofbiz/service/ framework/service/src/org/ofbiz/service/jms/

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r1174990 - in /ofbiz/branches/release10.04: ./ framework/entity/src/org/ofbiz/entity/ framework/service/src/org/ofbiz/service/ framework/service/src/org/ofbiz/service/jms/

jleroux@apache.org
Author: jleroux
Date: Fri Sep 23 20:10:16 2011
New Revision: 1174990

URL: http://svn.apache.org/viewvc?rev=1174990&view=rev
Log:
"Applied fix from trunk for revision: 1174964"
------------------------------------------------------------------------
r1174964 | jleroux | 2011-09-23 21:22:40 +0200 (ven., 23 sept. 2011) | 3 lines

A patch from Dimitri Unruh "With no DistributionCacheClear JMS is not working anymore." https://issues.apache.org/jira/browse/OFBIZ-4296

Tested in both case (with and w/out dcc), works fine AFAICT
------------------------------------------------------------------------


Modified:
    ofbiz/branches/release10.04/   (props changed)
    ofbiz/branches/release10.04/framework/entity/src/org/ofbiz/entity/Delegator.java
    ofbiz/branches/release10.04/framework/entity/src/org/ofbiz/entity/GenericDelegator.java
    ofbiz/branches/release10.04/framework/service/src/org/ofbiz/service/ServiceDispatcher.java
    ofbiz/branches/release10.04/framework/service/src/org/ofbiz/service/jms/JmsListenerFactory.java

Propchange: ofbiz/branches/release10.04/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Sep 23 20:10:16 2011
@@ -1,3 +1,3 @@
 /ofbiz/branches/addbirt:831210-885099,885686-886087
 /ofbiz/branches/multitenant20100310:921280-927264
-/ofbiz/trunk:939988,939990,939999,940025,940053,940234,940248,940309,940401,940410,940425,940779,940815,940849,940851,941007,941047,941109,941177,941199,941261,941440,941600,941999,942084,942406,942414,942671,942883-942884,943168,943271-943272,943843,944614,944621,944623,944647,944669,944797,944895,945010,945018,945026,945118,945573,945578,945580,945582,945610,945619,945848,945852,945857,946061,946066,946073,946075,946080,946309,946313,946320,946322,946596,947004-947005,947392,947424,947679,947988,948017,948694,949174,949710,949844,950866,950870,950893,951005,951062,951098,951251,951367,951381,951672,952232,952249,952270,953294,953671,954135,954583,954733,954956,955568,956022,956206,956340,957160,958343,958514,958521,958752,958758,958769,958953,959456,960143,960491,960997,963610,964558,965470,965916,966525,966785,967098,978806,978893,978939,979104,980641-980642,980935,981051,981104,981123,981288,983920,983930,985163,985298,985473,985718,985856,985902,987841,989166,990127,990
 339,990539,991485,993344,993387,995384,995686,996069,996078-996079,996563,997418-997420,997423-997425,997431,997440,997526,997990,998061,998412,998557,1000621,1000725,1000998,1001099,1001131,1001185,1001574,1001849,1001962,1002963,1003434,1003450,1003829,1004139,1027756,1027960,1028053,1028625,1028627,1029600,1030016,1030385,1030390,1033928,1033953,1034138,1034179,1035080,1035084,1036426,1036669,1037507,1037559-1037560,1037567,1037883,1038228,1038990,1039256,1040044,1040091,1042009,1042034,1042038,1042132,1042188,1042222,1042317,1042348,1042396,1042411,1042950,1043861,1043996-1043998,1044047,1044084,1044912,1049031,1050602,1051111,1051450,1051812,1052195,1053285,1053289,1053722,1054565,1055057,1056072,1056305,1056803,1057519,1058028,1058056,1058488,1059180,1060236,1060261,1060368,1060933,1061167,1061307,1061346,1061886,1061939,1062138,1062144,1062152,1063273,1064090,1064953,1064993,1065550,1066048,1067097,1067942,1069597,1069965,1070193,1070229,1072017,1072378,1074624,107520
 5,1075952,1076027,1076115,1080218,1080959,1083144,1084572,1084671,1084689,1084855,1085697,1085774,1090952,1090961,1090964,1092479,1094007,1094126,1096441,1098063,1104423,1131144,1132589,1132749,1134649,1134990,1135199,1135686,1137201,1137435,1139346,1139385,1139504,1140358,1140362,1140375,1140469,1144537,1144791,1153768,1158126,1159080,1163036,1163093,1165130,1166591,1167116,1167314,1167480,1167501,1167510,1167517,1167606,1172213,1172243
+/ofbiz/trunk:939988,939990,939999,940025,940053,940234,940248,940309,940401,940410,940425,940779,940815,940849,940851,941007,941047,941109,941177,941199,941261,941440,941600,941999,942084,942406,942414,942671,942883-942884,943168,943271-943272,943843,944614,944621,944623,944647,944669,944797,944895,945010,945018,945026,945118,945573,945578,945580,945582,945610,945619,945848,945852,945857,946061,946066,946073,946075,946080,946309,946313,946320,946322,946596,947004-947005,947392,947424,947679,947988,948017,948694,949174,949710,949844,950866,950870,950893,951005,951062,951098,951251,951367,951381,951672,952232,952249,952270,953294,953671,954135,954583,954733,954956,955568,956022,956206,956340,957160,958343,958514,958521,958752,958758,958769,958953,959456,960143,960491,960997,963610,964558,965470,965916,966525,966785,967098,978806,978893,978939,979104,980641-980642,980935,981051,981104,981123,981288,983920,983930,985163,985298,985473,985718,985856,985902,987841,989166,990127,990
 339,990539,991485,993344,993387,995384,995686,996069,996078-996079,996563,997418-997420,997423-997425,997431,997440,997526,997990,998061,998412,998557,1000621,1000725,1000998,1001099,1001131,1001185,1001574,1001849,1001962,1002963,1003434,1003450,1003829,1004139,1027756,1027960,1028053,1028625,1028627,1029600,1030016,1030385,1030390,1033928,1033953,1034138,1034179,1035080,1035084,1036426,1036669,1037507,1037559-1037560,1037567,1037883,1038228,1038990,1039256,1040044,1040091,1042009,1042034,1042038,1042132,1042188,1042222,1042317,1042348,1042396,1042411,1042950,1043861,1043996-1043998,1044047,1044084,1044912,1049031,1050602,1051111,1051450,1051812,1052195,1053285,1053289,1053722,1054565,1055057,1056072,1056305,1056803,1057519,1058028,1058056,1058488,1059180,1060236,1060261,1060368,1060933,1061167,1061307,1061346,1061886,1061939,1062138,1062144,1062152,1063273,1064090,1064953,1064993,1065550,1066048,1067097,1067942,1069597,1069965,1070193,1070229,1072017,1072378,1074624,107520
 5,1075952,1076027,1076115,1080218,1080959,1083144,1084572,1084671,1084689,1084855,1085697,1085774,1090952,1090961,1090964,1092479,1094007,1094126,1096441,1098063,1104423,1131144,1132589,1132749,1134649,1134990,1135199,1135686,1137201,1137435,1139346,1139385,1139504,1140358,1140362,1140375,1140469,1144537,1144791,1153768,1158126,1159080,1163036,1163093,1165130,1166591,1167116,1167314,1167480,1167501,1167510,1167517,1167606,1172213,1172243,1174964

Modified: ofbiz/branches/release10.04/framework/entity/src/org/ofbiz/entity/Delegator.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/release10.04/framework/entity/src/org/ofbiz/entity/Delegator.java?rev=1174990&r1=1174989&r2=1174990&view=diff
==============================================================================
--- ofbiz/branches/release10.04/framework/entity/src/org/ofbiz/entity/Delegator.java (original)
+++ ofbiz/branches/release10.04/framework/entity/src/org/ofbiz/entity/Delegator.java Fri Sep 23 20:10:16 2011
@@ -603,7 +603,7 @@ public interface Delegator {
     public String getGroupHelperName(String groupName);
 
     public GenericHelperInfo getGroupHelperInfo(String entityGroupName);
-    
+
     /**
      * Gets the instance of ModelEntity that corresponds to this delegator and
      * the specified entityName
@@ -1208,20 +1208,7 @@ public interface Delegator {
      * @throws GenericEntityException
      */
     public int storeByCondition(String entityName, Map<String, ? extends Object> fieldsToSet, EntityCondition condition, boolean doCacheClear) throws GenericEntityException;
-
-    /**
-     * Enables/Disables the JMS listeners globally
-     * (this will not effect any dispatchers already running)
-     * @param enable
-     */
-    public void enableJMS(boolean enable);
-
-    /**
-     * Get Enabled/Disabled JMS listeners status
-     * @return boolean true is JMS listeners are enabled
-     */
-    public boolean getEnabledJMS();
-    
+  
     /**
      * Get use of Distributed Cache Clear mechanism status
      * @return boolean true if this delegator uses a Distributed Cache Clear mechanism

Modified: ofbiz/branches/release10.04/framework/entity/src/org/ofbiz/entity/GenericDelegator.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/release10.04/framework/entity/src/org/ofbiz/entity/GenericDelegator.java?rev=1174990&r1=1174989&r2=1174990&view=diff
==============================================================================
--- ofbiz/branches/release10.04/framework/entity/src/org/ofbiz/entity/GenericDelegator.java (original)
+++ ofbiz/branches/release10.04/framework/entity/src/org/ofbiz/entity/GenericDelegator.java Fri Sep 23 20:10:16 2011
@@ -313,10 +313,7 @@ public class GenericDelegator implements
             try {
                 Class<?> eecahClass = loader.loadClass(entityEcaHandlerClassName);
                 this.entityEcaHandler = UtilGenerics.cast(eecahClass.newInstance());
-                boolean isJmsEnabled = getEnabledJMS();
-                enableJMS(!getDelegatorInfo().useDistributedCacheClear); // To avoid duplicated JMS listeners (OFBIZ-4296)
                 this.entityEcaHandler.setDelegator(this);
-               enableJMS(isJmsEnabled);
             } catch (ClassNotFoundException e) {
                 Debug.logWarning(e, "EntityEcaHandler class with name " + entityEcaHandlerClassName + " was not found, Entity ECA Rules will be disabled", module);
             } catch (InstantiationException e) {
@@ -2818,7 +2815,7 @@ public class GenericDelegator implements
         }
 
         // If useDistributedCacheClear is false do nothing: the distributedCacheClear member field with a null value would cause dcc code to do nothing
-        if (getDelegatorInfo().useDistributedCacheClear) {
+        if (useDistributedCacheClear()) {
             //time to do some tricks with manual class loading that resolves circular dependencies, like calling services
             ClassLoader loader = Thread.currentThread().getContextClassLoader();
             // initialize the distributedCacheClear mechanism
@@ -2842,21 +2839,6 @@ public class GenericDelegator implements
         }
     }
     
-
-    /* (non-Javadoc)
-     * @see org.ofbiz.entity.Delegator#enableJMS()
-     */
-    public void enableJMS(boolean enable) {
-        this.enableJMS = enable;
-    }
-
-    /* (non-Javadoc)
-     * @see org.ofbiz.entity.Delegator#getEnableJMS()
-     */
-    public boolean getEnabledJMS() {
-        return this.enableJMS;
-    }
-    
     /* (non-Javadoc)
      * @see org.ofbiz.entity.Delegator#getEnableJMS()
      */

Modified: ofbiz/branches/release10.04/framework/service/src/org/ofbiz/service/ServiceDispatcher.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/release10.04/framework/service/src/org/ofbiz/service/ServiceDispatcher.java?rev=1174990&r1=1174989&r2=1174990&view=diff
==============================================================================
--- ofbiz/branches/release10.04/framework/service/src/org/ofbiz/service/ServiceDispatcher.java (original)
+++ ofbiz/branches/release10.04/framework/service/src/org/ofbiz/service/ServiceDispatcher.java Fri Sep 23 20:10:16 2011
@@ -116,8 +116,8 @@ public class ServiceDispatcher {
         }
 
         // make sure we haven't disabled these features from running
-        if (enableJMS && this.delegator.getEnabledJMS()) {
-            this.jlf = new JmsListenerFactory(this);
+        if (enableJMS) {
+            this.jlf = JmsListenerFactory.getInstance(this);
         }
 
         if (enableSvcs) {

Modified: ofbiz/branches/release10.04/framework/service/src/org/ofbiz/service/jms/JmsListenerFactory.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/release10.04/framework/service/src/org/ofbiz/service/jms/JmsListenerFactory.java?rev=1174990&r1=1174989&r2=1174990&view=diff
==============================================================================
--- ofbiz/branches/release10.04/framework/service/src/org/ofbiz/service/jms/JmsListenerFactory.java (original)
+++ ofbiz/branches/release10.04/framework/service/src/org/ofbiz/service/jms/JmsListenerFactory.java Fri Sep 23 20:10:16 2011
@@ -47,12 +47,27 @@ public class JmsListenerFactory implemen
     protected static Map<String, GenericMessageListener> listeners = FastMap.newInstance();
     protected static Map<String, Element> servers = FastMap.newInstance();
 
+    protected static JmsListenerFactory jlf = null;
+
     protected ServiceDispatcher dispatcher;
     protected boolean firstPass = true;
     protected int  loadable = 0;
     protected int connected = 0;
     protected Thread thread;
 
+
+    public static JmsListenerFactory getInstance(ServiceDispatcher dispatcher){
+        if (jlf == null) {
+            synchronized (JmsListenerFactory.class) {
+                if (jlf == null) {
+                    jlf = new JmsListenerFactory(dispatcher);
+                }
+            }
+        }
+
+        return jlf;
+    }
+
     public JmsListenerFactory(ServiceDispatcher dispatcher) {
         this.dispatcher = dispatcher;
         thread = new Thread(this, this.toString());