I had a 9.04 and upgraded to 10.4 but copied my 9.04 entityengine.xml so it was missing the tenant group.
Guess I did not make that clear when I said I made myself look foolish.
=========================

BJ Freeman
Strategic Power Office with Supplier Automation  
<http://www.businessesnetwork.com/automation/viewforum.php?f=52>
Specialtymarket.com  <http://www.specialtymarket.com/>
Systems Integrator-- Glad to Assist

Chat  Y! messenger: bjfr33man
Scott Gray sent the following on 10/21/2010 1:50 AM:
OOTB in 10.04 the delegator definition looks like this:
     <delegator name="default" entity-model-reader="main" entity-group-reader="main" 
entity-eca-reader="main" distributed-cache-clear-enabled="false">
         <group-map group-name="org.ofbiz" datasource-name="localderby"/>
         <group-map group-name="org.ofbiz.olap" 
datasource-name="localderbyolap"/>
         <group-map group-name="org.ofbiz.tenant" 
datasource-name="localderbytenant"/>
     </delegator>

Your one appears to be missing the last group-map for org.ofbiz.tenant and I'm 
guessing that is the problem.  I have no idea why you and BJ were missing that 
entry though, it was there before 10.04 existed.

Regards
Scott

HotWax Media
http://www.hotwaxmedia.com

On 21/10/2010, at 9:42 PM, Carsten Schinzer wrote:

Hi Scott,


well, I digged out this old thread as the very same seemed happening to BJ
as well. Here's a little context:

I am aiming at multitenant along with PostGreSQL database, i.e. I have
created the DB for each tenant.

I changed entityengine.xml to use the localpostnew DataSource in the default
delegator:
    <delegator name="default" entity-model-reader="main"
entity-group-reader="main" entity-eca-reader="main"
distributed-cache-clear-enabled="false">
        <group-map group-name="org.ofbiz" datasource-name="localpostnew"/>
        <group-map group-name="org.ofbiz.olap"
datasource-name="localderbyolap"/>
    </delegator>

of course localpostnew is updated with connection string info as usual and
the respective postgres drivers are placed in

    {ofbiz-home}\framework\entity\lib\jdbc

Now the multitenant info, i.e. the datasource setup for each Tenant's
database, went to the xml file in
    {ofbiz-home}\framework\entity\data\TenantDataSources.xml
(the filename is different and is updated accordingly in
{ofbiz-home}\framework\entity\ofbiz-component.xml

If I choose the localderby datasource, everything goes just nice and the
databases are generated, data loaded etc.

If I change to the above configuration, i.e. using localpostnew, ofbiz
throws an exception as follows
*
COMMAND ISSUED:*
D:\__eclipse\ofbiz-multitenant>java -Xmx512m -XX:MaxPermSize=128m -jar
ofbiz.jar -install -readers=seed-initial -delegator=default

*CONSOLE OUTPUT:*
Set OFBIZ_HOME to - D:/__eclipse/ofbiz-multitenant
(...)
2010-10-20 18:28:34,283 (main) [        ModelReader.java:389:INFO ] FINISHED
LOADING ENTITIES - ALL FILES; #Entities=849 #ViewEntities=267 #Fields=8870
#Relationships=2925 #AutoRelationships=2157
2010-10-20 18:28:34,392 (main) [   GenericDelegator.java:244:INFO ] Doing
entity definition check...
2010-10-20 18:28:34,408 (main) [ ModelEntityChecker.java:502:INFO ]
[initReservedWords] array length=1023
Exception in thread "main" java.lang.NullPointerException
        at
org.ofbiz.entity.GenericDelegator.getEntityFieldType(GenericDelegator.java:555)
        at
org.ofbiz.entity.model.ModelEntityChecker.checkEntities(ModelEntityChecker.java:101)
        at
org.ofbiz.entity.GenericDelegator.<init>(GenericDelegator.java:245)
        at
org.ofbiz.entity.DelegatorFactoryImpl.getInstance(DelegatorFactoryImpl.java:33)
        at
org.ofbiz.entity.DelegatorFactoryImpl.getInstance(DelegatorFactoryImpl.java:25)
        at
org.ofbiz.base.util.UtilObject.getObjectFromFactory(UtilObject.java:202)
        at
org.ofbiz.entity.DelegatorFactory.getDelegator(DelegatorFactory.java:47)
        at
org.ofbiz.entityext.data.EntityDataLoadContainer.start(EntityDataLoadContainer.java:230)
        at
org.ofbiz.base.container.ContainerLoader.start(ContainerLoader.java:100)
        at org.ofbiz.base.start.Start.startStartLoaders(Start.java:272)
        at org.ofbiz.base.start.Start.startServer(Start.java:322)
        at org.ofbiz.base.start.Start.start(Start.java:326)
        at org.ofbiz.base.start.Start.main(Start.java:411)
2010-10-20 18:28:34,627 (OFBiz_Shutdown_Hook) [
ContainerLoader.java:113:INFO ] Shutting down containers


I would like to understand the following:

   - what is going wrong? OFBIZ seems to have issues with the
   entityfieldtypes for postnew. This is not observed for single tenant OFBIZ
   setups -- or no-one out there is using single instances on postgres with
   release 10.04 or later.
   - how can I dig deeper into the issue? Reviewing the classes I do see
   sporadic log statement which I do not find back on the console, hence: where
   can I switch log levels for a component or the entire ofbiz instance?

Hint for any of these two are much appreciated.
And thanks for focussing back on the topic :-)

Regards


Carsten



2010/10/21 Scott Gray<[email protected]>

Sorry my bad.

Could you explain what changes you've made to the entityengine.xml that got
you to the point of something not working?

Thanks
Scott

HotWax Media
http://www.hotwaxmedia.com

On 21/10/2010, at 6:04 PM, Carsten Schinzer wrote:

Hmmm. Again this has gone off towards debugging/logging (just like the
older
thread from June).

Anyone with proposals on how to include the Tenant datasources into
entityengine.xml as BJ indicated he had found a workaround for this issue
that involves this? BJ?

Thanks


Carsten

2010/10/21 David E Jones<[email protected]>


On Oct 20, 2010, at 4:39 PM, Scott Gray wrote:

On 21/10/2010, at 10:39 AM, James McGill wrote:

On Mon, Jun 14, 2010 at 11:08 AM, BJ Freeman<[email protected]>
wrote:

Not sure why it worked in derby mode but not in postgresql.
but it hung up on the tenant entity.
but adding the tenant stuff into the entityengine.xml it no longer
errors.
I am such a slouch I used one line of debug.loginfo to find the
problem.
someday I will put energy into the remote debugging.
:D


I find remote debugging is extremely easy, using Eclipse.  If only
there
was
a way to step into minilang services -- they make remote debugging
pretty
frustrating, especially if you want to breakpoint an ECA.

You can cheat a little sometimes with that.  I regularly drop in this:
<log level="always" message="${someVar}"/>
<transaction-rollback/>

Obviously not as good as breakpoints but you can move it around and
just
keep refreshing the browser to continually execute the method and never
commit the changes.

Actually, IMO, when you don't have to worry about compile/run cycles I
like
logging better than break points and variable inspection. It requires a
little more typing, but a LOT less clicking and watching and browsing
through data. In fact, IMO logging is faster when you don't have to
worry
about compilation making things intolerably slow. It's kind of like
command-line versus a purely graphical way of doing things.

Of course, to each their own... most programmers can't seem to handle
something that they aren't used and/or wasn't their idea... ;)

-David




--

Best

Carsten Schinzer

Waisenhausstr. 53a
80637 München
Germany




--

Best

Carsten Schinzer

Waisenhausstr. 53a
80637 München
Germany

Reply via email to