Trying to understand and configure for HA-JNDI
Background: Imagine a simplistic web application that 1) retrieves a JNDI
DataSource definition and 2) uses the DataSource to get a database connection
and query a table. Easy beans. I have this setup and working, using a
mysql-ds.xml (plus related config changes), goes against the database just
fine. BTW, I have the JDBC URL info that is in the mysql-ds.xml using the
explicit machine name:
<?xml version="1.0" encoding="UTF-8"?>
<local-tx-datasource>
<jndi-name>jdbc/EpokDB</jndi-name>
<connection-url>jdbc:mysql://my.machine-1.com:3306/epokeis?autoReconnect=true&maxReconnects=1&initialTimeout=2</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>root</user-name>
password
</local-tx-datasource>
Now lets say I have the same EXACT JBOSS server and web application setup on
machine number 2. Same cluster-service.xml exactly! Only thing different is
the mysql-ds.xml on machine number 2 uses "localhost" in the JDBC URLs i the
mysql-ds.xml:
<?xml version="1.0" encoding="UTF-8"?>
<local-tx-datasource>
<jndi-name>jdbc/EpokDB</jndi-name>
<connection-url>jdbc:mysql://localhost:3306/epokeis?autoReconnect=true&maxReconnects=1&initialTimeout=2</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>root</user-name>
password
</local-tx-datasource>
MY GOAL is that in the web application's JNDI DataSource lookup (as it is
running on machine 2), that it INSTEAD gets the JNDI entry from machine 1, and
not itself. Mind you that this JNDI DataSource has the same JNDI name on
both machines.
Here is what I know (right or wrong):
- ProviderURL of "jnp://localhost:1099" is the local JNDI
- ProviderURL of "localhost:1100" is the local HA-JNDI
- ProviderURL of "my.machine-1.com:100" *should be* the HA-JNDI running on
machine 1.
- When you are asking the HA-JNDI for an item by name, it ALWAYS proxies the
call down to its LOCAL JNDI. If NameNotFound there, THEN it will go ask other
HA-JNDI's it knows about.
- The way one HA-JNDI knows of other HA-JNDI's is via the auto-discovery
settings under the HA-JNDI 'area' of cluster-service.xml
- I DO NOT KNOW if this ability for one HA-JNDI to talk to another HA-JNDI
breaks down IF the Partition condfiuration they declare has different
Mul;ticast address or port... just not sure... BUT IN MY CASE, they are the
same values!
Okay, there is the ground work.
Problem: On Machine 2, no matter what ProviderURL value I try, I *always* get
the JNDI DataSource defined locally (ie; the one with "localhost" in the JDBC
URL).
- I have tried creating the InitialContext with ProviderURL =
"my.machine-1.com:1100", but no luck.
- I have tried setting it to "jnp://my.machine-1.com:1099" (not sure if I can
even really do this, right... talk to a JBOSS local JNDI service from within a
different JVM... correct me if I am wrong please!!!), but no luck.
It seems this should work right? Especially when I specifically say "use the
HA-JNDI on machine 1"... but in both cases above, I end up with the Local JNDI
entry for this JNDI name.
Help!!! Is my config wrong? If so, where are my misunderstandings? Please
please, if you say RTFM, please be specific on page. I do have the 4.X latest
admin guide downloaded. Ive been through lots of docs and think I understand.
thanks!
NOTE!!! That my JBOSS /server layout is a trimmed down version of /all, and has
cluster-service.xml in it. I am using the DefaultPartition. So it's Partition
configuration, specifically the Muslticast address and port are the same.
JBOSS 4.0.1 on Redhat Linux.
(Also, if this is Scott Stark, please see my additional comment I just added on
my second JBOSS issue I am working thru, the APP-INF/classes issue. I left a
question there for you. Thanks!!)
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3864939#3864939
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3864939
-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
_______________________________________________
JBoss-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-user