sticky_session=0 + UseJk=false + HTTP Session Replication
by Nicholas Schuetz
Hello,
I have a setup with:
Two hardware load balancers -> 2 Apache 2.2 instances running mod_jk
1.2.28 LB w/ sticky_session=0 -> 2 JBossAS 4.2.3 Servers doing HTTP
Session Replication via JBoss Clustering.
* My hardware load balancers are not configured to do sticky sessions
* My Apache 2.2 w/ mod_jk lb workers have sticky_session=0 set (No
Sticky Sessions)
Since I do not have sticky_session enabled do I still need to have
UseJK=true and my jvmRoute value set for mod_jk LB and HTTP Session
Replication to work?
In deploy/jboss-web.deployer/META-INF/jboss-service.xml it reads:
--- SNIP ---
<!--
Whether to use MOD_JK(2) for load balancing with sticky session
combined with JvmRoute. If set to true, it will insert a JvmRouteFilter
to intercept every request and replace the JvmRoute if it detects a
failover. In addition, you will need to set the JvmRoute inside
Tomcat, e.g.,
Engine name="jboss.web" jmvRoute="Node1" defaultHost="localhost"
in server.xml.
For clustering purpose only.
-->
<attribute name="UseJK">false</attribute>
--- SNIP ---
This suggest to me that unless you are using sticky_session=1 in
mod_jk you don't need to set UseJK to true and the jvmRoute. Is this
assumption correct?
If UseJK is set to false does mod_jk LB still work with JBoss? Will
other aspects of jboss clustering still function as they should i.e
Session Replication?
Thanks,
Nick
17 years
[JBoss Cache: Core Edition] - Eviction queue fills up causing threads to block
by Jeremy Stone
We have a problem whereby we have seen the following message logged continuously on a customer's installation of our software that uses JBoss Cache with Hibernate:
Warning putNodeEvent(): eviction node event queue size is at 98% threshold value of capacity: 200000 Region: /query/entity/by_name You will need to reduce the wakeUpIntervalSeconds parameter.
We have seen this only once so far. It does not appear to recur after a server restart.
A stack dump shows many threads waiting to put nodes on to the eviction queue. The following is representative...
Thread: pool-21-thread-4 : priority:5, demon:false, threadId:144, threadState:WAITING, lockName:java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@584b2d
|
| sun.misc.Unsafe.park(Native Method)
| java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
| java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
| java.util.concurrent.LinkedBlockingQueue.put(LinkedBlockingQueue.java:254)
| org.jboss.cache.RegionImpl.registerEvictionEvent(RegionImpl.java:249)
| org.jboss.cache.RegionImpl.registerEvictionEvent(RegionImpl.java:234)
| org.jboss.cache.interceptors.EvictionInterceptor.registerEvictionEventToRegionManager(EvictionInterceptor.java:252)
| ...etc
| org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:118)
| org.hibernate.impl.SessionImpl.list(SessionImpl.java:1596)
| org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:306)
| org.hibernate.impl.CriteriaImpl.uniqueResult(CriteriaImpl.java:328)
| ...etc
|
The EvictionTimer thread appears just to waiting for something to do...
Thread: EvictionTimer-0 : priority:5, demon:true, threadId:88, threadState:WAITING, lockName:java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@353fbf
|
| sun.misc.Unsafe.park(Native Method)
| java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
| java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
| java.util.concurrent.DelayQueue.take(DelayQueue.java:160)
| java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:583)
| java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:576)
| java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947)
| java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
| java.lang.Thread.run(Thread.java:619)
The only inkling as to what is occurring is that perhaps an eviction algorithm (silently) threw an unchecked exception causing the EvictionTimerTask Task to no longer be scheduled.
(see http://java.sun.com/javase/6/docs/api/java/util/concurrent/ScheduledExecu...
which states '...If any execution of the task encounters an exception, subsequent executions are suppressed....').
Even if this is not the cause of our problem then EvictionTimerTask seems susceptible to this behaviour. Maybe you should consider using something like the Spring Framework DelegatingExceptionProofRunnable
(http://static.springsource.org/spring/docs/2.5.6/api/org/springframework/...).
Any thoughts on this?
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4242437#4242437
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4242437
17 years
[JBossWS] - WebService Client with MTOM
by MichaW
Hi,
I'm using jbossws-native-2.0.1 (default for the AS 4.2.2.GA).
I've used ws-consume on a wsdl from a thirdparty (see attached file).
When I try the create the service
Service service = Service.create(getWsdlUrl(), getServiceName());
I get an error
Caused by: org.jboss.ws.WSException: Cannot deploy null policy!
| at org.jboss.ws.extensions.policy.deployer.PolicyDeployer.deployClientSide(PolicyDeployer.java:146)
| at org.jboss.ws.extensions.policy.metadata.PolicyMetaDataBuilder.deployPolicyClientSide(PolicyMetaDataBuilder.java:310)
| at org.jboss.ws.extensions.policy.metadata.PolicyMetaDataBuilder.deployPolicy(PolicyMetaDataBuilder.java:277)
| at org.jboss.ws.extensions.policy.metadata.PolicyMetaDataBuilder.processPolicies(PolicyMetaDataBuilder.java:236)
| at org.jboss.ws.extensions.policy.metadata.PolicyMetaDataBuilder.processPolicyExtensions(PolicyMetaDataBuilder.java:193)
| at org.jboss.ws.metadata.builder.jaxws.JAXWSClientMetaDataBuilder.buildMetaData(JAXWSClientMetaDataBuilder.java:93)
| at org.jboss.ws.core.jaxws.spi.ServiceDelegateImpl.<init>(ServiceDelegateImpl.java:131)
| at org.jboss.ws.core.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:61)
| at javax.xml.ws.Service.<init>(Service.java:83)
| at javax.xml.ws.Service.create(Service.java:721)
| at nl.denhaag.gbd.services.ebus.attachmentservice.client.AttachmentServiceClient.initEndpoint(AttachmentServiceClient.java:63)
| ... 43 more
When I use the same code on a webservice that does not use MTOM everything is working fine.
What should I do to provide a policy for MTOM on the clientside?
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4242434#4242434
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4242434
17 years