[Remoting] - Re: Problem with backlog queue behavior ?
by ron.sigal@jboss.com
Hi Nicolas,
Couple of points:
1. clientMaxPoolSize=50 means that there can never be more than 50 simultaneous invocations from a given client.
2. maxPoolSize=400 means that there can never be more than 400 simultaneous invocations on the server.
3. 1) and 2) imply that, in your first example, you never came close to using the ServerSocket queue (backlog).
4.
anonymous wrote :
| When the client has finish, the server thread should release the connection and return in the pool.
|
isn't quite true. When a ServerThread finishes an invocation and returns a result, the client thread will return to the pool, but it maintains a connection to the ServerThread. That is, the ServerThread can only be used by the client thread that originally connected to it, at least until a socket timeout occurs. What is happening is that the 401st invocation sees that all the client threads are busy but, since clientMaxPoolSize=404, it tries to create a new connection. However, on the server side, all of the ServerThreads are still in use. The AcceptorThread will try to "evict" one of the ServerThreads and try to reuse it, but, frankly, that's old code and I don't believe it works. In fact, I have tried to fix the eviction process in Remoting 2.4.0.Beta1. So, I believe, the AcceptorThread will hang until a ServerThread experiences a socket timeout and returns itself to the pool. It looks like the 401st client socket has timed out by that time, and then when the ServerThread finally tries to talk to the 401st socket, it finds the "connection reset".
So, setting clientMaxPoolSize > maxPoolSize is not a good idea, at least for Remoting 2.2.x. However, if you set clientMaxPoolSize=maxPoolSize=400 and create 500 simultaneous invocations with a duration less than the configured timeout value, I would expect all the invocations to work. Can you verify that?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4127304#4127304
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4127304
18 years, 2 months
[JBoss Seam] - Re: :( the huge log file.
by gringalet
hi pete.muir, would you like tell me what is the causes for the belows?
i click the button for uploading the file and i have to wait for a long time , and in the end, i got these messages:
| 17:41:30,187 ERROR [STDERR] 2008-2-7 17:41:30 com.sun.facelets.compiler.TagLibra
| ryConfig loadImplicit
| ä¿¡æ¯: Added Library from: jar:file:/D:/share2/CRMProjects/jboss-4.2.0_dvd/server
| /default/tmp/deploy/tmp7917dvd.ear-contents/dvd-exp.war/WEB-INF/lib/jboss-seam-u
| i.jar!/META-INF/s.taglib.xml
| 17:47:38,671 WARN [arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.BasicActio
| n_58] - Abort of action id -3f57ffeb:1992:47aad1b3:48 invoked while multiple thr
| eads active within it.
| 17:47:38,687 WARN [arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.CheckedAct
| ion_2] - CheckedAction::check - atomic action -3f57ffeb:1992:47aad1b3:48 abortin
| g with 1 threads active!
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4127303#4127303
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4127303
18 years, 2 months
[JBoss Messaging] - Re: Message priority does not seem to work
by timfox
I haven't run your code but I had a quick look at it. A couple of observations
1) As already mentioned. JMSPriority set on a message is ignored - you need to set it on the producer (as per JMS spec)
2) JBM (and pretty much every other messaging system) buffers messages on the client side.
So basically you have the normal JMS queue on the server, and each consumer keeps a local buffer of messages on the client side to itself and consumes from that. This is is done for performance reasons (it is much quicker than fetching a message every time from the server).
The server side queue is ordered by priority and also the client side buffer is ordered by priority.
In your case, you are sending messages faster than you can consume them, so your client side buffer becomes full. So any higher priority messages sent after that won't make it to the client side until you consume your buffer.
Since your consumers are so slow, you probably don't really need to buffer so you can set this to 1 (prefetchSize- see userguide). This should improve what you see.
Also bear in mind that message priorities are a "best effort", there is no guarantee in any JMS system that they will be strictly observed (JMS Spec 3.4.10).
In fact it's almost impossible to do this when you have buffer in action.
Any reliance on strict ordering of messages will make your app non portable as well.
Hope that helps.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4127294#4127294
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4127294
18 years, 2 months
[JBoss Portal] - Jboss Portal With Spring Portlet
by ozGuy123
Hi
I have some problems with the portlets and would like some help.
I have a portlet which is using Spring portlet framework.
Its a very simple portlet at the moment as i wanted to learn how it works with jboss.
Portlet is deployed Successfully, but i dont see it in the Jboss Portal page with the other portals. Not sure whats wrong. No error messages in the log either.
Here is the example :
public class TodayPortlet extends GenericPortlet{
public void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<h1>Welcome to the Pet Portal!</h1>");
out.println("This portlet delegates to an existing JSR-168 portlet via a HandlerAdapter");
out.println("(see WEB-INF/context/welcome-context.xml for the details).");
out.println("Portlet Name: " + this.getPortletName() + "");
out.println("Init Parameters:");
out.println("Init Parameters:");
for (Enumeration e = this.getInitParameterNames(); e.hasMoreElements();) {
String name = (String)e.nextElement();
out.println("" + name + " = " + this.getInitParameter(name) + "");
}
=======================
web.xml:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/context/common.xml</param-value>
</context-param>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
<servlet-name>view-servlet</servlet-name>
<servlet-class>org.springframework.web.servlet.ViewRendererServlet</servlet-class>
<load-on-startup>1</load-on-startup>
<servlet-mapping>
<servlet-name>view-servlet</servlet-name>
<url-pattern>/WEB-INF/servlet/view</url-pattern>
</servlet-mapping>
==========================
portlet.xml
<portlet-name>welcomeToday</portlet-name>
<portlet-class>org.springframework.web.portlet.DispatcherPortlet</portlet-class>
<init-param>
contextConfigLocation
/WEB-INF/context/welcome-portlet.xml
</init-param>
<mime-type>text/html</mime-type>
<portlet-mode>view</portlet-mode>
<portlet-info>
Welcome
</portlet-info>
============================
portlet-instances.xml:
<instance-id>WelcomePortletInstance</instance-id>
<portlet-ref>welcomeToday</portlet-ref>
====================================
welcome-object.xml:
<if-exists>overwrite</if-exists>
<parent-ref>default.default</parent-ref>
<window-name>WelcomePortletWindow</window-name>
<instance-ref>WelcomePortletInstance</instance-ref>
left
1
====================
This is actually an example Portlet that came with SPring 2 distribution. Am just tryinig to get the Welcome Portlet running in Jboss which i can't do at the moment.
Any help will be appreciated.
[/url]
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4127284#4127284
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4127284
18 years, 2 months