I really don't know much about the multi tenant functionality, it's new and I 
haven't used it.  But yeah you do need that tenant group mapped to a 
datasource, it contains a set of tables that are needed in addition to the 
separate tenant databases (I think).

Regards
Scott

On 21/10/2010, at 11:57 PM, Carsten Schinzer wrote:

> Well, so possibly a mistake in the documents as the multitenant datasources
> would be defined in the config file placed on data/... (as mentioned above).
> Using your aproach, I would be using the entityengine.xml to define any
> datasource required?
> 
> Then for data loading: How do I address a certain datasource?
> 
> I had the idea to use defined readers like e.g.
>    <entity-data-reader name="ext-tenant1"/>
> 
> and define those readers only for the respective data sources.
> 
> Does that make sense?
> Thanks for the tip!
> I'll play around a little with this idea.
> 
> Just one last question: What is the dedicated TenantDatasources.xml file
> then used for at all? To map the datasource to the respective tenant logins?
> Because irritatingly, this file also references jdbcUri, jdbcUsername and
> jdbcPassword. But all that I would have specified in entityengine.xml as
> well.
> 
> Well, it looks like I'd update some documents once I found my way through
> this. Stay tuned :)
> 
> Regards
> 
> 
> Carsten
> 
> 
> 2010/10/21 Scott Gray <[email protected]>
> 
>> 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
>> 
>> 
> 
> 
> -- 
> 
> Best
> 
> Carsten Schinzer
> 
> Waisenhausstr. 53a
> 80637 München
> Germany

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to