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<scott.g...@hotwaxmedia.com>
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<scott.g...@hotwaxmedia.com>
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<d...@me.com>
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<
bjf...@free-man.net
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