[JBossCache] - Replication Problem When Nodes Have Gone Away
by jbirkenmaier
Hi. Here's the problem in a nutshell. 3-node cluster with shared tree cache. Nodes 1 and 2 go away at around the same time (via an unplugged network cable). Node 3 gets notification withing 10-12 seconds that Node 1 is gone and makes a few changes to the cache (within a transaction). Cache tries to replicate to Node 2 (not knowing it has gone away) and fails (ReplicationException). Node 3 thinks that his local cache has been updated but it hasn't because of the replication failure. Node 3 receives notification that Node 2 has gone away after ~50 seconds and again updates his cache, which works because there is no one left to replicate to.
There are two things I need help with:
1. I need to have my local cache update even when it fails to replicate.
2. Why does it take so long to receive notification that the second node has gone away when they were both on the same network cable that I unplugged? My JGroups timeout is set to 12 seconds max (counting retries). The two JGroups viewChange notifications are sometime more than 60 seconds apart.
Thanks for the help!
Jim
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3973649#3973649
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3973649
19 years, 7 months
[JCA/JBoss] - Re: Seemingly random connection issues?
by znbailey
"weston.price(a)jboss.com" wrote : You need to post your *-ds.xml file as well as the version and type of MSSQL driver. Also, MS-SQL version would be good as well.
|
| The exeption you are seeing is typically the result of a SQL not being about to be executed on constructing a connection. This is usually specificied in your *-ds.xml file as <new-connection-sql>SOME SQL</new-connection-sql>
|
|
Hi Weston,
Thanks for your response. Here is the mssql-ds.xml file:
| <datasources>
| <local-tx-datasource>
| <jndi-name>SystemDS</jndi-name>
| <connection-url>jdbc:jtds:sqlserver://server-host:1433/dbname;SelectMethod=cursor</connection-url>
| <driver-class>net.sourceforge.jtds.jdbc.Driver</driver-class>
| <user-name>ZZZZZZ</user-name>
| <password>ZZZZZZ</password>
| <prepared-statement-cache-size>10000</prepared-statement-cache-size>
| <min-pool-size>10</min-pool-size>
| <max-pool-size>100</max-pool-size>
| <blocking-timeout-millis>5000</blocking-timeout-millis>
| <check-valid-connection-sql>select 1</check-valid-connection-sql>
| </local-tx-datasource>
| </datasources>
|
The version of the JTDS MS SQL driver used is the latest stable release, version 1.2. As you can see the check-valid-connection-sql is specified.
Just to reiterate the JBoss version is 3.2.7. Because of this I don't think the new-connection-sql option is available (I remember reading somewhere that this was a 4.0+ feature)?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3973648#3973648
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3973648
19 years, 7 months
[JBoss Portal] - Re: Portlet calling a webservice
by halversp
You invoke webservices from a portlet just like any other WS client -- get your hands on the service proxy (either pre-generated or through a dynamic proxy) and start calling operations (either through a generated service endpoint interface or dynamically). The portlet configuration mechanism may give you a cleaner place to isolate the configuration (e.g. the endpoint URL, etc.), and there are probably some lifecycle considerations (e.g. acquire the proxy in the init() method), but otherwise there's nothing special about it being in portlet. So if you're looking for examples you need to look at the usual web services tutorials.
WSRP has nothing to do with it -- WSRP is about calling portlets via webservices, not calling web services from portlets.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3973638#3973638
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3973638
19 years, 7 months