[JBossCache] - max_suspend_time and "state retrieved successfully"
by matabo
When there are large state transfer, I get the message (JBosscache 1.2.3, JGroups 2.2.8):
| WARN [STABLE] ResumeTask resumed message garbage collection - this
| should be done by a RESUME_STABLE event; check why this event was not received
| (or increase max_suspend_time for large state transfers)
|
1) Where I can increase max_suspend_time parameter? Where is it set?
Sometimes, line
| INFO [TreeCache] state was retrieved successfully (in 6313 milliseconds)
|
is not written. Instead, I find lines like
| INFO [TreeCache] state could not be retrieved (must be first member in group)
| INFO [TreeCache] received the state (size=7757569 bytes)
| INFO [TreeCache] transient state: 7757517 bytes
| INFO [TreeCache] setting transient state
| INFO [TreeCache] locking the old tree
| INFO [TreeCache] locking the old tree was successful
| INFO [TreeCache] setting the transient state was successful
| INFO [TreeCache] forcing release of all locks in old tree
|
even if there is already a member in the group (for instance when I am trying to get a large state). Please note that line: "state was retrieved successfully" is not written.
2) What those lines mean exactly? The state was not transferred at all? The state was partially trasferred? A state was trasferred but it is unreliable?
TIA
matabo
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3960907#3960907
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3960907
19 years, 9 months
[JBoss Portal] - MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM
by johncena
I got these errors after I re-deployed the jboss-portal-2.2.1. What could cause these errors?
16:48:14,490 ERROR [URLDeploymentScanner] Incomplete Deployment listing:
--- MBeans waiting for other MBeans ---
ObjectName: portal:service=CMS
State: FAILED
Reason: org.apache.jackrabbit.core.config.ConfigurationException: File system initialization failure.: failed to initialize file system: null: failed to initialize file system: null
I Depend On:
jboss.jca:service=DataSourceBinding,name=PortalDS
portal:service=JAASLoginModule
Depends On Me:
portal:mapper=CMSObject
--- MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM ---
ObjectName: portal:service=CMS
State: FAILED
Reason: org.apache.jackrabbit.core.config.ConfigurationException: File system initialization failure.: failed to initialize file system: null: failed to initialize file system: null
I Depend On:
jboss.jca:service=DataSourceBinding,name=PortalDS
portal:service=JAASLoginModule
Depends On Me:
portal:mapper=CMSObject
And from the browser I got this message when I clicked on localhost:8080/portal...
javax.servlet.ServletException: Servlet execution threw an exception
org.jboss.portal.server.app.impl.AbstractRequestContext.include(AbstractRequestContext.java:247)
org.jboss.portal.server.aspects.component.ContextDispatcherInterceptor$1.include(ContextDispatcherInterceptor.java:73)
org.jboss.portal.server.servlet.CommandServlet.include(CommandServlet.java:81)
org.jboss.portal.server.aspects.component.ContextDispatcherInterceptor.invoke(ContextDispatcherInterceptor.java:79)
org.jboss.portal.server.app.ComponentInterceptor.invoke(ComponentInterceptor.java:38)
org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:130)
org.jboss.portal.portlet.aspects.component.SessionPreDispatchInterceptor.invoke(SessionPreDispatchInterceptor.java:94)
org.jboss.portal.server.app.ComponentInterceptor.invoke(ComponentInterceptor.java:38)
org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:130)
org.jboss.portal.server.aspects.component.ContextTrackerInterceptor.invoke(ContextTrackerInterceptor.java:49)
org.jboss.portal.server.app.ComponentInterceptor.invoke(ComponentInterceptor.java:38)
org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:130)
org.jboss.portal.portlet.aspects.component.SecureTransportInterceptor.invoke(SecureTransportInterceptor.java:69)
org.jboss.portal.server.app.ComponentInterceptor.invoke(ComponentInterceptor.java:38)
org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:130)
org.jboss.portal.portlet.aspects.component.ValveInterceptor.invoke(ValveInterceptor.java:64)
org.jboss.portal.server.app.ComponentInterceptor.invoke(ComponentInterceptor.java:38)
org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:130)
org.jboss.portal.server.invocation.Invocation.invoke(Invocation.java:175)
org.jboss.portal.core.command.RenderWindowCommand.execute(RenderWindowCommand.java:84)
org.jboss.portal.core.command.ControllerCommand.dispatch(ControllerCommand.java:78)
org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:140)
org.jboss.portal.core.aspects.controller.EventBroadcasterInterceptor.invoke(EventBroadcasterInterceptor.java:85)
org.jboss.portal.core.command.CommandInterceptor.invoke(CommandInterceptor.java:38)
org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:130)
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3960900#3960900
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3960900
19 years, 9 months
[Remoting] - Re: Remoting using Http over a singel port
by dreyk
While jboss server deploy ejb3 module,it properly find default ClientBindUrl
from ejb3.deployer/META-INF/jboss-service.xml see Ejb3JmxDeployment.java :
public String getDefaultClientBinding()
| {
|
| try
| {
| ObjectName on = new ObjectName("jboss.remoting:type=Connector,name=DefaultEjb3Connector,handler=ejb3");
| ConnectorMBean connector = (ConnectorMBean) MBeanProxyExt.create(ConnectorMBean.class, on, deploymentInfo.getServer());
| String uri = connector.getInvokerLocator();
| return connector.getInvokerLocator();
| }
| catch (Exception e)
| {
| throw new RuntimeException(e);
| }
| }
This method always invoking during deployment, and aftter that deployer set property defaultClientBinding in class ProxyDeployer to correct value.
But after that server invoke method initializeRemoteBindingMetadata() in ProxyDeployer class, and if it can't find RemoteBinding anntation it will be use defaultClientBinding from jboss-service.xml and default jndi binding, but if it find this annatation in deployed ejb it will be use RemoteBinding from whith ejb,where default value is socket://0.0.0.0:XXXX, that is why you can change this code for use defaultClientBinding from jboss-service.xml. But preffer is define in RemoteBinding annatotion default value for clientBindUrl to "" and in method initializeRemoteBindingMetadata() chek that this property not set to some value diferent from default and set it to property defaultClientBinding.
see Original code:
public void initializeRemoteBindingMetadata()
| {
|
| remoteBindings = (RemoteBindings) advisor.resolveAnnotation(RemoteBindings.class);
| if (remoteBindings == null)
| {
| RemoteBinding binding = (RemoteBinding) advisor.resolveAnnotation(RemoteBinding.class);
| if (binding == null)
| {
| log.debug("no declared remote bindings for : " + container.getEjbName());
| if (ProxyFactoryHelper.getRemoteInterfaces(container) != null)
| {
| log.debug("there is remote interfaces for " + container.getEjbName());
| String jndiName = ProxyFactoryHelper.getDefaultRemoteJndiName(container);
| log.debug("default remote binding has jndiName of " + jndiName);
| // todo we need to have a way to define default configuration
| String uri = defaultClientBinding;
| Class factory = null;
| factory = getDefaultRemoteProxyFactory();
| RemoteBinding[] list = {new RemoteBindingImpl(jndiName, "", uri, factory)};
| remoteBindings = new RemoteBindingsImpl(list);
| advisor.getAnnotations().addClassAnnotation(RemoteBindings.class, remoteBindings);
| }
| }
| else
| {
|
| RemoteBinding[] list = {binding};
| remoteBindings = new RemoteBindingsImpl(list);
| advisor.getAnnotations().addClassAnnotation(RemoteBindings.class, remoteBindings);
| }
| }
| }
and changed code:
public void initializeRemoteBindingMetadata()
| {
|
| remoteBindings = (RemoteBindings) advisor.resolveAnnotation(RemoteBindings.class);
| if (remoteBindings == null)
| {
| RemoteBinding binding = (RemoteBinding) advisor.resolveAnnotation(RemoteBinding.class);
| if (binding == null)
| {
| log.debug("no declared remote bindings for : " + container.getEjbName());
| if (ProxyFactoryHelper.getRemoteInterfaces(container) != null)
| {
| log.debug("there is remote interfaces for " + container.getEjbName());
| String jndiName = ProxyFactoryHelper.getDefaultRemoteJndiName(container);
| log.debug("default remote binding has jndiName of " + jndiName);
| // todo we need to have a way to define default configuration
| String uri = defaultClientBinding;
| Class factory = null;
| factory = getDefaultRemoteProxyFactory();
| RemoteBinding[] list = {new RemoteBindingImpl(jndiName, "", uri, factory)};
| remoteBindings = new RemoteBindingsImpl(list);
| advisor.getAnnotations().addClassAnnotation(RemoteBindings.class, remoteBindings);
| }
| }
| else
| {
| //if user define clientBindUrl than use binding.clientBindUrl()
| if(binding.clientBindUrl().equals("")){
| RemoteBinding[] list = {new RemoteBindingImpl(binding.jndiBinding(),binding.interceptorStack(),defaultClientBinding,binding.factory())};
| remoteBindings = new RemoteBindingsImpl(list);
| }
| else{
| RemoteBinding[] list = {binding};
| remoteBindings = new RemoteBindingsImpl(list);
| }
| advisor.getAnnotations().addClassAnnotation(RemoteBindings.class, remoteBindings);
| }
| }
| }
String clientBindUrl() default ""; in org.jboss.annotation.ejb.RemoteBinding
But I think preffer solution for this problem it's define new annatation for clientBindUrl and in this method check only existinse this annataton.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3960897#3960897
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3960897
19 years, 9 months