[
http://jira.jboss.com/jira/browse/JBAS-5536?page=all ]
Galder Zamarreno updated JBAS-5536:
-----------------------------------
Workaround Description:
The obvious workaround is to use JRMP invokers instead of Unified invokers while this
gets sorted as JRMP invoker proxy ha does implement InvokerProxyHA. To do that, take
your EJB and add the following to the beans jboss.xml so that it uses JRMP invoker instead
of Unified:
<jboss>
<enterprise-beans>
<session>
<ejb-name>Boo</ejb-name>
<jndi-name>ejb/BooEjb</jndi-name>
<configuration-name>JRMP Clustered Stateless
SessionBean</configuration-name>
<clustered>true</clustered>
</session>
</enterprise-beans>
<container-configurations>
<container-configuration extends="Clustered Stateless SessionBean">
<container-name>JRMP Clustered Stateless
SessionBean</container-name>
<invoker-proxy-binding-name>clustered-stateless-rmi-invoker</invoker-proxy-binding-name>
</container-configuration>
</container-configurations>
</jboss>
If you wanna apply the workaround to all your beans, apply these changes to the
"Clustered Stateless SessionBean" configuration in conf/standardjboss.xml
was:
The obvious workaround is to use JRMP invokers instead of Unified invokers while this
gets sorted as JRMP invoker proxy ha does implement InvokerProxyHA. To do that, take
your EJB and add the following to the beans jboss.xml so that it uses JRMP invoker instead
of Unified:
<jboss>
<enterprise-beans>
<session>
<ejb-name>Boo</ejb-name>
<jndi-name>ejb/BooEjb</jndi-name>
<configuration-name>JRMP Clustered Stateless
SessionBean</configuration-name>
<clustered>true</clustered>
</session>
</enterprise-beans>
<container-configurations>
<container-configuration extends="Clustered Stateless SessionBean">
<container-name>JRMP Clustered Stateless
SessionBean</container-name>
<invoker-proxy-binding-name>clustered-stateless-rmi-invoker</invoker-proxy-binding-name>
</container-configuration>
</container-configurations>
</jboss>
UnifiedInvokerHAProxy replicants are not updated when other nodes
undeploy beans
--------------------------------------------------------------------------------
Key: JBAS-5536
URL:
http://jira.jboss.com/jira/browse/JBAS-5536
Project: JBoss Application Server
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: Clustering, Remoting
Affects Versions: JBossAS-5.0.0.Beta3, JBossAS-4.2.1.GA
Reporter: Galder Zamarreno
Assigned To: Galder Zamarreno
Priority: Critical
Fix For: JBossAS-5.0.0.Beta4, JBossAS-4.2.2.GA
We have a big regression at out hands. When we moved to unified
invokers, we lost the ability for home/bean proxies to be updated
when another node undeploys a bean. Why?
ProxyFactoryHA.replicantsChanged looks something like this
(the trace logs were added by me during debugging):
public synchronized void replicantsChanged (String key,
List newReplicants,
int newReplicantsViewId)
{
try
{
if (homeInvoker instanceof InvokerProxyHA)
{
if (log.isTraceEnabled())
{
log.trace("Updating home proxy with new replicants " +
target.getReplicants() + ", view=" + target.getCurrentViewId ());
}
((InvokerProxyHA)homeInvoker).updateClusterInfo (target.getReplicants(),
target.getCurrentViewId ());
}
if (beanInvoker instanceof InvokerProxyHA)
{
if (log.isTraceEnabled())
{
log.trace("Updating bean proxy with new replicants " +
target.getReplicants() + ", view=" + target.getCurrentViewId ());
}
((InvokerProxyHA)beanInvoker).updateClusterInfo (target.getReplicants(),
target.getCurrentViewId ());
}
log.debug ("Rebinding in JNDI... " + key);
rebindHomeProxy ();
}
catch (Exception none)
{
log.debug (none);
}
}
UnifiedInvokerHAProxy *does not* implement InvokerProxyHA, so unified invoker ha
proxies will never have their replicants updated.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira