[Management, JMX/JBoss] - Management interface to webapps
by nappinc
We have an existing J2EE 1.4 (servlets/JSP only) web application we'd like to add a management interface to, so application server administrators can manage our application via the JBoss JMX/Web Console (get status, alter configuration, get monitoring stats).
I've been advised to create a new .sar file containing our JMX MBeans, but my question is how do we integrate this with our web application? How do I configure the classloading?
Our new ear file is as follows:
- main application (.war)
- separate configuration application (.war)
- new JMX MBeans (.sar)
The two .war files need to run under isolated classloaders, to prevent clashes of code and libraries. How can I configure the .sar to have access to the main application's classes? The wiki seemed to suggest that classloading can only be specified at one level - in an ear file that would be in the jboss-app.xml - and lower levels - the .war's and .sar would have settings ignored.
I don't really want to use Unified classloading - that seems to be all or nothing - because that also breaks certain parts of our application and prevents us from being able to deploy more than one copy of our applciation on a single app server instance.
Am I right in thinking this is even possible in JMX? Is this a sledgehammer to crack a coconut?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4018775#4018775
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4018775
19Â years, 2Â months
[JBossWS] - Rpc client
by tremalnaik
Hello,
I've configured a jax-rpc style service in jboss version 4.0.2, which looks to work fine, if I access it using SOAPUI. The request get a response back from jboss. But when I try to access the server using a java client, I have the exception:
serialization error: serialization error: java.lang.IllegalStateException
| at com.sun.xml.rpc.encoding.literal.LiteralObjectArraySerializer.serialize(LiteralObjectArraySerializer.java:129)
| at com.sun.xml.rpc.encoding.literal.GenericLiteralObjectSerializer.doSerializeInstance(GenericLiteralObjectSerializer.java:292)
| at com.sun.xml.rpc.encoding.literal.GenericLiteralObjectSerializer.doSerialize(GenericLiteralObjectSerializer.java:230)
| at com.sun.xml.rpc.encoding.literal.LiteralObjectSerializerBase.internalSerialize(LiteralObjectSerializerBase.java:172)
| at com.sun.xml.rpc.encoding.literal.LiteralObjectSerializerBase.serialize(LiteralObjectSerializerBase.java:107)
| at com.sun.xml.rpc.encoding.literal.LiteralRequestSerializer.doSerializeInstance(LiteralRequestSerializer.java:337)
| at com.sun.xml.rpc.encoding.literal.LiteralRequestSerializer.doSerialize(LiteralRequestSerializer.java:408)
| at com.sun.xml.rpc.encoding.literal.LiteralRequestSerializer.internalSerialize(LiteralRequestSerializer.java:305)
| at com.sun.xml.rpc.encoding.literal.LiteralRequestSerializer.serialize(LiteralRequestSerializer.java:260)
| at com.sun.xml.rpc.client.StreamingSender._writeRequest(StreamingSender.java:637)
| at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:83)
| at com.sun.xml.rpc.client.dii.CallInvokerImpl.doInvoke(CallInvokerImpl.java:80)
| at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:482)
| at com.bitaplus.bitastar.traveller.connector.ws.TravellerSynchronizerTest.testServiceWithDDI(TravellerSynchronizerTest.java:94)
| at com.bitaplus.bitastar.traveller.connector.ws.TravellerSynchronizerTest.main(TravellerSynchronizerTest.java:52)
|
| CAUSE:
|
| serialization error: java.lang.IllegalStateException
| at com.sun.xml.rpc.encoding.literal.LiteralArraySerializer.serialize(LiteralArraySerializer.java:132)
| at com.sun.xml.rpc.encoding.literal.GenericLiteralObjectSerializer.doSerializeInstance(GenericLiteralObjectSerializer.java:292)
| at com.sun.xml.rpc.encoding.literal.GenericLiteralObjectSerializer.doSerialize(GenericLiteralObjectSerializer.java:230)
| at com.sun.xml.rpc.encoding.literal.LiteralObjectSerializerBase.internalSerialize(LiteralObjectSerializerBase.java:172)
| at com.sun.xml.rpc.encoding.literal.LiteralObjectSerializerBase.serialize(LiteralObjectSerializerBase.java:107)
| at com.sun.xml.rpc.encoding.literal.LiteralObjectArraySerializer.doSerializeInstance(LiteralObjectArraySerializer.java:353)
| at com.sun.xml.rpc.encoding.literal.LiteralObjectArraySerializer.doSerialize(LiteralObjectArraySerializer.java:332)
| at com.sun.xml.rpc.encoding.literal.LiteralObjectArraySerializer.internalSerialize(LiteralObjectArraySerializer.java:178)
| at com.sun.xml.rpc.encoding.literal.LiteralObjectArraySerializer.serialize(LiteralObjectArraySerializer.java:127)
| at com.sun.xml.rpc.encoding.literal.GenericLiteralObjectSerializer.doSerializeInstance(GenericLiteralObjectSerializer.java:292)
| at com.sun.xml.rpc.encoding.literal.GenericLiteralObjectSerializer.doSerialize(GenericLiteralObjectSerializer.java:230)
| at com.sun.xml.rpc.encoding.literal.LiteralObjectSerializerBase.internalSerialize(LiteralObjectSerializerBase.java:172)
| at com.sun.xml.rpc.encoding.literal.LiteralObjectSerializerBase.serialize(LiteralObjectSerializerBase.java:107)
| at com.sun.xml.rpc.encoding.literal.LiteralRequestSerializer.doSerializeInstance(LiteralRequestSerializer.java:337)
| at com.sun.xml.rpc.encoding.literal.LiteralRequestSerializer.doSerialize(LiteralRequestSerializer.java:408)
| at com.sun.xml.rpc.encoding.literal.LiteralRequestSerializer.internalSerialize(LiteralRequestSerializer.java:305)
| at com.sun.xml.rpc.encoding.literal.LiteralRequestSerializer.serialize(LiteralRequestSerializer.java:260)
| at com.sun.xml.rpc.client.StreamingSender._writeRequest(StreamingSender.java:637)
| at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:83)
| at com.sun.xml.rpc.client.dii.CallInvokerImpl.doInvoke(CallInvokerImpl.java:80)
| at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:482)
| at com.bitaplus.bitastar.traveller.connector.ws.TravellerSynchronizerTest.testServiceWithDDI(TravellerSynchronizerTest.java:94)
| at com.bitaplus.bitastar.traveller.connector.ws.TravellerSynchronizerTest.main(TravellerSynchronizerTest.java:52)
|
| CAUSE:
|
| java.lang.IllegalStateException
| at com.sun.xml.rpc.util.xml.XmlWriter.attributeName(XmlWriter.java:418)
| at com.sun.xml.rpc.util.xml.XmlWriter.attributeUnquoted(XmlWriter.java:370)
| at com.sun.xml.rpc.streaming.XMLWriterImpl.writeAttributeUnquoted(XMLWriterImpl.java:239)
| at com.sun.xml.rpc.streaming.XMLWriterBase.writeAttributeUnquoted(XMLWriterBase.java:46)
| at com.sun.xml.rpc.encoding.literal.LiteralArraySerializer.internalSerialize(LiteralArraySerializer.java:177)
| at com.sun.xml.rpc.encoding.literal.LiteralArraySerializer.serialize(LiteralArraySerializer.java:126)
| at com.sun.xml.rpc.encoding.literal.GenericLiteralObjectSerializer.doSerializeInstance(GenericLiteralObjectSerializer.java:292)
| at com.sun.xml.rpc.encoding.literal.GenericLiteralObjectSerializer.doSerialize(GenericLiteralObjectSerializer.java:230)
| at com.sun.xml.rpc.encoding.literal.LiteralObjectSerializerBase.internalSerialize(LiteralObjectSerializerBase.java:172)
| at com.sun.xml.rpc.encoding.literal.LiteralObjectSerializerBase.serialize(LiteralObjectSerializerBase.java:107)
| at com.sun.xml.rpc.encoding.literal.LiteralObjectArraySerializer.doSerializeInstance(LiteralObjectArraySerializer.java:353)
| at com.sun.xml.rpc.encoding.literal.LiteralObjectArraySerializer.doSerialize(LiteralObjectArraySerializer.java:332)
| at com.sun.xml.rpc.encoding.literal.LiteralObjectArraySerializer.internalSerialize(LiteralObjectArraySerializer.java:178)
| at com.sun.xml.rpc.encoding.literal.LiteralObjectArraySerializer.serialize(LiteralObjectArraySerializer.java:127)
| at com.sun.xml.rpc.encoding.literal.GenericLiteralObjectSerializer.doSerializeInstance(GenericLiteralObjectSerializer.java:292)
| at com.sun.xml.rpc.encoding.literal.GenericLiteralObjectSerializer.doSerialize(GenericLiteralObjectSerializer.java:230)
| at com.sun.xml.rpc.encoding.literal.LiteralObjectSerializerBase.internalSerialize(LiteralObjectSerializerBase.java:172)
| at com.sun.xml.rpc.encoding.literal.LiteralObjectSerializerBase.serialize(LiteralObjectSerializerBase.java:107)
| at com.sun.xml.rpc.encoding.literal.LiteralRequestSerializer.doSerializeInstance(LiteralRequestSerializer.java:337)
| at com.sun.xml.rpc.encoding.literal.LiteralRequestSerializer.doSerialize(LiteralRequestSerializer.java:408)
| at com.sun.xml.rpc.encoding.literal.LiteralRequestSerializer.internalSerialize(LiteralRequestSerializer.java:305)
| at com.sun.xml.rpc.encoding.literal.LiteralRequestSerializer.serialize(LiteralRequestSerializer.java:260)
| at com.sun.xml.rpc.client.StreamingSender._writeRequest(StreamingSender.java:637)
| at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:83)
| at com.sun.xml.rpc.client.dii.CallInvokerImpl.doInvoke(CallInvokerImpl.java:80)
| at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:482)
| at com.bitaplus.bitastar.traveller.connector.ws.TravellerSynchronizerTest.testServiceWithDDI(TravellerSynchronizerTest.java:94)
| at com.bitaplus.bitastar.traveller.connector.ws.TravellerSynchronizerTest.main(TravellerSynchronizerTest.java:52)
|
This is strange for it doesn't give me any indication on what the error may be. The method implementation is:
public interface TravellerSynchronizerIface extends Remote
| {
| public ClientCharacteristics synchronize(ClientCharacteristics characters)
| throws RemoteException;
| }
|
and the client trying to access it is:
ClientCharacteristics characters = new ClientCharacteristics();
| String urlstr = "https://cor319:8443/bitatraveller/TravellerSynchronizer?wsdl";
| System.out.println("Contacting webservice at " + urlstr);
| URL url = new URL(urlstr);
| String ns = "https://ws.web.bitastar.bitaplus.com/";
| QName qname = new QName(ns, "TravellerSynchronizer");
| QName port = new QName(ns, "TravellerSynchronizerIfacePort");
| QName operation = new QName(ns, "synchronize");
| ServiceFactory factory = ServiceFactory.newInstance();
| Service service = factory.createService(url, qname);
| Call call = service.createCall(port, operation);
| ClientCharacteristics cc = (ClientCharacteristics) call.invoke(new Object[] { characters });
|
The exception is thrown at the invoke, in the last line. I'm using Java 1.4 and jwsdp 1.4. I downloaded the jbossws samples and inspecting the code I see an instruction like
| Service service = factory.createService(wsdlURL, qname, mappingURL);
|
but my factory implementation doesn't have such a method. Did I set up the call wrongly? Please help me.
thanks
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4018770#4018770
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4018770
19Â years, 2Â months