JRebel model reloading and non-matching jdbc2Info
JRebel model reloading and non-matching jdbc2Info
- Subject: JRebel model reloading and non-matching jdbc2Info
- From: Denis Frolov <email@hidden>
- Date: Wed, 14 Mar 2012 20:55:28 +0400
Hi,
Ran into this issue earlier today and decided to share my experience
with others. JRebel model reloading is failing due to exception thrown
by ERXModelGroup.fixJDBCDictionary, e.g.:
JRebel: reloading EOModel MyModel (1858062544)
java.lang.IllegalArgumentException: The connection dictionaries for
MyModel and ERAttachment have the same URL and username, but the
connection dictionaries are not equal. Check your connection
dictionaries carefully! This problem is often caused by jdbc2Info not
matching between the two. One fix for this is to set
MyModel.removeJdbc2Info=true and ERAttachment.removeJdbc2Info=true in
your Properties file. (MyModel={password = ""; blah blah... }).
at er.extensions.eof.ERXModelGroup.fixJDBCDictionary(ERXModelGroup.java:912)
Here is what happens when looking with debugger:
1. At start-up ERXModelGroup.fixJDBCDictionary removes removeJdbc2Info
from models.
2. After that ERXJDBCMigrationLock._tryLock (called by migration at
start-up) brings jdbc2Info entries back.
3. Upon model change WOJRebelEOModelReloadHandler reloads models. As a
result, ERXModelGroup runs it's check for non-matching connection
dictionaries and (since jdbc2Info entries are back) throws an
exception that prevents model reloading from completing successfully.
Not sure, what a proper fix should be, but setting
er.extensions.ERXModelGroup.raiseOnUnmatchingConnectionDictionaries=false
worked for me as a quick workaround.
Denis
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden