AFAIK, CND or Node Types will replicate over a cluster, provider
a) All the namespaces referenced in the CND files are on all of the
cluster nodes.
b) The Node Types on each node dont conflict.
I would set the default logging level to debug in both JVM's and start
up a clean cluster with both JVM's in different orders (eg A first
then B, clean repo, B first then A) looking for exceptions around the
repository initialization.
I would suspect that you will get some NodeType or namespace related
errors at startup that are preventing one cluster from understanding
the events from the other.
Thomas may be able to give more insight, but this is what my gut is
saying is wrong.
HTH
Ian
On 27 Apr 2009, at 14:15, Nilshan wrote:
Hello Ian and Thomas ,
I am really sorry that I am replying after a long time, actually I
was busy
with some other component.
When I tried Clustering without drools 5.X It worked absolutely fine
(Without shared N/W drive).
e.g : param name="directory" value="c:/Repo_Journal". And this is
working
fine.
Both the clusters are on the same machine but different JVMs.
Now, When I introduced drools in clustering It started crying.
(Unable to
read revision).
I think this is because...
Accessing Repository using ...
1.JCRRepositoryConfigurator config = new
JackrabbitRepositoryConfigurator();
2.RuleAssetManager.repository =
config.getJCRRepository(REPOSITORY_HOME_DIR);
3.repoSession = repository.login();
4.config.setupRulesRepository(repoSession);
At line 4 it setupRulesRepository which initially (At very first time)
registers different CND files.
i.e
//Note, the order in which they are registered actually does matter !
this.registerNodeTypesFromCndFile("/node_type_definitions/
tag_node_type.cnd",
ws);
this.registerNodeTypesFromCndFile("/node_type_definitions/
state_node_type.cnd",
ws);
this.registerNodeTypesFromCndFile("/node_type_definitions/
versionable_node_type.cnd",
ws);
this.registerNodeTypesFromCndFile("/node_type_definitions/
versionable_asset_folder_node_type.cnd",
ws);
this.registerNodeTypesFromCndFile("/node_type_definitions/
rule_node_type.cnd",
ws);
this.registerNodeTypesFromCndFile("/node_type_definitions/
rulepackage_node_type.cnd",
ws);
These CND files contain special characters ( like *) introduced by one
cluster which are not properly interpreted (understood) by the second
cluster. I feel that, this is the reason that clusters are not
working in
harmony.
Thanks,
Nilshan.
Hello Ian and Thomas,
Thank you for your quick reply.
We will definitely try the suggested option to share the drive for the
clusters..
We will get in touch soon..
Thanks a ton.
:rules:
Nilshan and Arpan.
Ian Boston wrote:
I see Thomas has picked up the thread, and he knows far more about
this than I do, so listen to him more than me.
1. I see that the journal directory is on the c: drive, do that mean
that both Jackrabbit instances are running on the same physical
machine ?
2. It would be normal to put the local revision file with the local
repository storage eg
and the journal in a shared space.
You may be getting name clashes between nodes as a result of using
the
same directory for both the private and the public shared locations.
---
The failure on the DB Journal looks like the DB connection is being
refused by the db server (url, username, password etc ).
"Unable to create connection.: Unable to
create connection." is probably from the JDBC driver.
Ian
On 31 Mar 2009, at 10:41, Nilshan wrote:
Hello Thomas,
Thanks for the reply...
Using FileJournal, we are facing the problem that is mentioned in
the
previous message.....
Using DatabaseJournal, we are facing the following error:-
The following is the Error log while using DatabaseJournal..
**********************************************************
javax.jcr.RepositoryException: Unable to create connection.:
Unable to
create connection.
at
org
.apache
.jackrabbit
.core.RepositoryImpl.createClusterNode(RepositoryImpl.java:650)
at
org
.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:
288)
at
org
.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:
557)
at
org.apache.jackrabbit.core.TransientRepository
$2.getRepository(TransientRepository.java:245)
at
org
.apache
.jackrabbit
.core.TransientRepository.startRepository(TransientRepository.java:
265)
at
org
.apache
.jackrabbit.core.TransientRepository.login(TransientRepository.java:
333)
at
org
.apache
.jackrabbit.core.TransientRepository.login(TransientRepository.java:
363)
at
com
.amicas
.rulemanagement
.RuleAssetManager.initializeRepository(RuleAssetManager.java:555)
at
com
.amicas
.rulemanagement.RuleAssetManager.getSession(RuleAssetManager.java:
517)
at
com
.amicas
.rulemanagement
.RuleAssetManager.getServiceImpl(RuleAssetManager.java:494)
at
com
.amicas
.rulemanagement
.RuleAssetManager.categoryExists(RuleAssetManager.java:420)
at
com
.amicas
.rulemanagement
.RuleAssetManager
.initializeRuleRepoAndMetaConfiguration(RuleAssetManager.java:1718)
at
com
.amicas
.rulemanagement
.RuleAssetManager.getRuleAssetManager(RuleAssetManager.java:167)
at
com
.amicas
.gwt
.rulemanagement
.servlet
.RuleServiceServlet.getAllRuleByCategory(RuleServiceServlet.java:
256)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at
com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:
528)
at
com
.google
.gwt
.user
.server
.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:265)
at
com
.google
.gwt
.user
.server.rpc.RemoteServiceServlet.doPost(RemoteServiceServlet.java:
187)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at
org
.apache
.catalina
.core
.ApplicationFilterChain
.internalDoFilter(ApplicationFilterChain.java:
252)
at
org
.apache
.catalina
.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
173)
at
org
.springframework
.orm
.hibernate
.support
.OpenSessionInViewFilter
.doFilterInternal(OpenSessionInViewFilter.java:172)
at
org
.springframework
.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:
76)
**********************************************************
My configuration for the DatabaseJournal is also mentioned in the
previous
message....
I hope that I have provided sufficient information to you.
If we are missing anything, let us know....
Thank You,
Nilshan and Arpan.
Thomas Müller-2 wrote:
Hi,
I tried shared Journal (as it is must and clearly suggested on
clustering
wiki) but it didn't work.
Could you tell us what the problem was?
Regards,
Thomas
--
View this message in context:
http://www.nabble.com/JackRabbit_Clustering-tp22785285p22801622.html
Sent from the Jackrabbit - Users mailing list archive at Nabble.com.
--
View this message in context:
http://www.nabble.com/JackRabbit_Clustering-tp22785285p23256026.html
Sent from the Jackrabbit - Users mailing list archive at Nabble.com.