On 14/05/2015 10:32, Javier Calvach Regidor wrote:
Hello,
I am trying to deploy two instances of syncope in the same tomcat. For
database, I would want to user two different databases in the same
MySQL instance. I already have the database of the first syncope's
intance (with all the connectosr/resources/users/... info) so I have
duplicated it and I have imported it into a new database called
syncope2. I have granted all permissions to user syncope (which access
to syncope database as well) and I have changed the
persistence.properties files of the second instance to
"jpa.url=jdbc:mysql://localhost:3306/syncope2?characterEncoding=UTF-8". Nevertheless,
both instances of Syncope are pointed to database syncope, not
syncope2. This is quite strange, I can't figure out what's going on.
Any of you have tried this before?
The Spring datasource used for all (JPA and non-JPA) database access is
defined in [1] so that if JNDI resource with name "
java:comp/env/jdbc/syncopeDataSource" is found, that is returned; if not
found, a local datasource is built via Commons DBCP and parameters taken
from persistence.properties.
Moreover, you need to take into account the configuration directory you
have passed during build (see [2]): as a general behavior, in fact,
properties files will considered at first from configuration directory,
then from classpath (e.g. from inside the actual deployed WAR file).
Possibly, in your case - especially if you just copied the first syncope
WAR into a second WAR then changed the second persistence.properties -
you still have your second persistenceContext.xml pointing to values
from persistence.properties in the directory (-Dconf.directory=....)
you've specified during build (e.g. the configuration directory used by
the first instance).
HTH
Regards.
P.S.: I have instantiated a new console instance pointing to the
second core, so I am not managing the first core with both consoles.
In addition, when I access two syncopes in different tomcats, I have
to log in every time I want to use one or another. This is not
happening here. I have to log in both of them but, once I have done
it, I'm able to use them both without having to log in again.
[1]
https://github.com/apache/syncope/blob/1_2_X/core/src/main/resources/persistenceContext.xml#L63-L97
[2]
https://cwiki.apache.org/confluence/display/SYNCOPE/Run+Syncope+in+real+environments#RunSyncopeinrealenvironments-Buildanddeploy
--
Francesco Chicchiriccò
Tirasa - Open Source Excellence
http://www.tirasa.net/
Involved at The Apache Software Foundation:
member, Syncope PMC chair, Cocoon PMC, Olingo PMC
http://people.apache.org/~ilgrosso/