I must say  I have not clues about it. These both users suggested to replace 
JMSDispatcher by entity-default and it worked. I did
not have the time to get further in it at this moment and forgot about it. 
Maybe entity-default comes from Opentaps? I don't know
if default would work also. At least JMSDispatcher did not but, I did not digg 
why.

I agree that something more robust like
ContainerConfig.Container cfg = ContainerConfig.getContainer(name, 
org.ofbiz.base.start.Config.getContainerConfig(););
String delegatorName = ContainerConfig.getPropertyValue(cfg, "delegator-name", 
"default");

should be used.

Config.getContainerConfig() would be added with this patch

Index: start/src/org/ofbiz/base/start/Config.java
===================================================================
--- start/src/org/ofbiz/base/start/Config.java (revision 1353226)
+++ start/src/org/ofbiz/base/start/Config.java (working copy)
@@ -69,6 +69,7 @@
    public String baseLib;
    public String commJar;
    public String containerConfig;
+    public static String staticContainerConfig;
    public String instrumenterClassName;
    public String instrumenterFile;
    public List<String> loaders;
@@ -209,8 +210,6 @@
                    fis = new FileInputStream(propsFile);
                    if (fis != null) {
                        props.load(fis);
-                    } else {
-                        throw new FileNotFoundException();
                    }
                } catch (FileNotFoundException e2) {
                    // do nothing; we will see empty props below
@@ -338,6 +337,7 @@

        // container configuration
        containerConfig = getOfbizHomeProp(props, "ofbiz.container.config", 
"framework/base/config/ofbiz-containers.xml");
+        staticContainerConfig = containerConfig;

        // get the admin server info
        String serverHost = getProp(props, "ofbiz.admin.host", "127.0.0.1");
@@ -433,4 +433,8 @@
        }
    }

+    public static synchronized String getContainerConfig() {
+        return staticContainerConfig;
+    }
+
}

Else you could use
+            String ofbizHome = System.getProperty("ofbiz.home");
+            String configFile = ofbizHome + 
"/framework/base/config/ofbiz-containers.xml";
but then the configFile will be static. I don't know better ways...

HTH

Jacques

From: "Jacopo Cappellato" <[email protected]>
Hi Jacques,

could you please explain why we are using the "entity-default" dispatcher here? Why not 
using the "default" dispatcher? Is this by
design or it was just picked an existing one?

Jacopo

PS: As a side note, using the hardcoded "entity-default" (or "default") name is 
a bad practice because there is no guarantee that
all the setup will have a delegator named "default".

On Apr 11, 2011, at 9:54 AM, [email protected] wrote:

Author: jleroux
Date: Mon Apr 11 07:54:22 2011
New Revision: 1090961

URL: http://svn.apache.org/viewvc?rev=1090961&view=rev
Log:
Fixes a bug in AbstractJmsListener.java. This was 1st reported by Calum Miller 
on user ML 3 years ago
http://markmail.org/message/hb2r7vbjvekxbris. But as it seems this is no often 
use nobody noticed since but at least Anand H I
who used the same in http://markmail.org/message/yvvm5nepopc7y246. It appeared 
when you tried to set a jms-service in
serviceengine.xml

Modified:
   
ofbiz/trunk/framework/service/src/org/ofbiz/service/jms/AbstractJmsListener.java

Modified: 
ofbiz/trunk/framework/service/src/org/ofbiz/service/jms/AbstractJmsListener.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/service/src/org/ofbiz/service/jms/AbstractJmsListener.java?rev=1090961&r1=1090960&r2=1090961&view=diff
==============================================================================
--- 
ofbiz/trunk/framework/service/src/org/ofbiz/service/jms/AbstractJmsListener.java
 (original)
+++ 
ofbiz/trunk/framework/service/src/org/ofbiz/service/jms/AbstractJmsListener.java
 Mon Apr 11 07:54:22 2011
@@ -50,7 +50,7 @@ public abstract class AbstractJmsListene
     * @param dispatcher
     */
    protected AbstractJmsListener(ServiceDispatcher serviceDispatcher) {
-        this.dispatcher = 
GenericDispatcher.getLocalDispatcher("JMSDispatcher", null, null, 
this.getClass().getClassLoader(),
serviceDispatcher);
+        this.dispatcher = 
GenericDispatcher.getLocalDispatcher("entity-default", null, null, 
this.getClass().getClassLoader(),
serviceDispatcher);
    }

    /**




Reply via email to