Hi Asankha,
thanks for your quick reply. Please see my comments below!
> > If all nodes are started via the wrapper, the index.jsp shows three
> nodes in Status "Started" and everything looks fine. No connection
refused
> exceptions on my side. Besides an java.net.MalformedURLException
showing
> in the JBoss server.log. It seems as if addServer is called with a
> malformed String (maybe some default context param not intended to be
> passed to the addServer method?). But that's not that important.
> >
> Hmm.. I am not sure what caused this, a stacktrace maybe helpful to
try
> to figure it out..
You will find the stacktrace at the bottom of this mail.
> > RESTART:
> > The same applies to this. The only thing is that during the restart
the
> status does not update. You can't see what's going on there. But it
works.
> >
> Hmm.. this is because I did this quick JSP for illustration purposes,
> and to be honest I am not a good JSP/UI engineer :-) .. I will check
if
> someone from my team can help me improve this to reflect the status
and
> refresh periodically etc..
Yes, that's exactly what I thought and you can't imagine how much I
understand you when it comes to UI programming. ;-)
The thing is, that it would be hard to live without some kind of basic
cluster console. And your simple webapp-demo could be pretty much a
basis for this.
> No, this is not graceful as this is invoking a JMX method on the Java
> Service Wrapper - although our shutdown hook gets invoked, any
messages
> in-flight may get killed. However, there is a solution to this (see
> comments on maintenance mode)
Hmm, normally I would like to restart the instances gracefully. Of
course there might be situations were I would like to do a forceful
shutdown/restart, but I would see this as exceptions to the rule.
If I go to maintenance mode first, how do I know when it is safe to
restart the instance? How do I know if all requests are processed? It
would be good if this could be "automated" and transparent to the user.
> > STOP:
> > What was your intention here? I thought it would stop the esb
instance,
> but not the controlling wrapper. You should be able to start it up
again
> if you like. Stopping the wrapper doesn't seem logical to me. If you
do
> this, you will loose control. Or am I wrong. I tried it and the
wrapper
> stops. Subsequent calls of the index.jsp result in a
> java.net.ConnectException: Connection refused exception. Of course
this
> should not be the case, even if an esb instance or its corresponding
> wrapper is down. On the other side the status still reports "Started".
So
> the status does not seem to work at all for me. Now I have not
possibility
> to bring this instance up again. Restart does not work, because I lost
the
> connection.
> >
> Yep, again I invoked on the stop() exposed via JMX by the service
> wrapper.. The solution to handle this correctly as you suggest is to
> shutdown - but not exit the VM, and will require some changes to the
> core ESB code. Shall we file a new JIRA for this, so that we can get
> this functionality into the next release? So far, I have not made any
> changes to the core distribution to support this illustrative webapp..
> However, I agree that your comments are valid and good
Yes! I would love to see this feature in the next release. The WSO2ESB
definitely runs in the right direction from my point of view.
There are only a couple of features missing I would need to be able to
use it in production. I will come up with some of these to discuss it
here on this list during the next days.
> Yep, exactly. Also, this will let you first put a node into
maintenance
> and then shutdown or restart - so that in-flight messages will not be
> affected. This also allows you to update configurations or do other
> maintenance on a group of nodes without bringing down the whole system
Nevertheless I see a need for a graceful restart. Regarding
configuration of the esb I would like to make some suggestion in a
separate thread, because this is one of my major concerns with the
current solution.
Ok, finally here comes the stack trace:
11:26:35,322 ERROR [STDERR] java.net.MalformedURLException: Service URL
must start with service:jmx:
11:26:35,323 ERROR [STDERR] at
javax.management.remote.JMXServiceURL.<init>(JMXServiceURL.java:143)
11:26:35,323 ERROR [STDERR] at
org.wso2.esb.ext.manage.ESBManager$NodeManager.connect(ESBManager.java:1
09)
11:26:35,323 ERROR [STDERR] at
org.wso2.esb.ext.manage.ESBManager$NodeManager.access$000(ESBManager.jav
a:74)
11:26:35,323 ERROR [STDERR] at
org.wso2.esb.ext.manage.ESBManager.addServer(ESBManager.java:38)
11:26:35,323 ERROR [STDERR] at
org.apache.jsp.index_jsp._jspService(index_jsp.java:190)
11:26:35,323 ERROR [STDERR] at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
11:26:35,323 ERROR [STDERR] at
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
11:26:35,324 ERROR [STDERR] at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.ja
va:373)
11:26:35,324 ERROR [STDERR] at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336)
11:26:35,324 ERROR [STDERR] at
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
11:26:35,324 ERROR [STDERR] at
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
11:26:35,324 ERROR [STDERR] at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:290)
11:26:35,324 ERROR [STDERR] at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:206)
11:26:35,324 ERROR [STDERR] at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilte
r.java:96)
11:26:35,325 ERROR [STDERR] at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:235)
11:26:35,325 ERROR [STDERR] at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:206)
11:26:35,325 ERROR [STDERR] at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:230)
11:26:35,325 ERROR [STDERR] at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:175)
11:26:35,325 ERROR [STDERR] at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAs
sociationValve.java:179)
11:26:35,325 ERROR [STDERR] at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.j
ava:84)
11:26:35,326 ERROR [STDERR] at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:127)
11:26:35,326 ERROR [STDERR] at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:102)
11:26:35,326 ERROR [STDERR] at
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConn
ectionValve.java:157)
11:26:35,326 ERROR [STDERR] at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
java:109)
11:26:35,326 ERROR [STDERR] at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:2
62)
11:26:35,326 ERROR [STDERR] at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:84
4)
11:26:35,327 ERROR [STDERR] at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(
Http11Protocol.java:583)
11:26:35,327 ERROR [STDERR] at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
11:26:35,327 ERROR [STDERR] at java.lang.Thread.run(Thread.java:595)
And here is the content of my web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<context-param>
<param-name>lenny</param-name>
<param-value>service:jmx:rmi:///jndi/rmi://10.137.148.70/esb,
admin, admin</param-value>
</context-param>
<context-param>
<param-name>otto</param-name>
<param-value>service:jmx:rmi:///jndi/rmi://10.137.148.71/esb,
admin, admin</param-value>
</context-param>
<context-param>
<param-name>carl</param-name>
<param-value>service:jmx:rmi:///jndi/rmi://10.137.148.73/esb,
admin, admin</param-value>
</context-param>
</web-app>
Regards,
Eric
_______________________________________________
Esb-java-user mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/esb-java-user