An example from me:
Client code:
--------------
| package client;
|
| import java.net.MalformedURLException;
|
| import org.jboss.remoting.InvokerLocator;
| import org.jboss.remoting.security.SSLSocketBuilder;
| import org.jboss.remoting.transporter.TransporterClient;
|
| import server.HandlerInterface;
|
| public class Client {
| /**
| * the Object containing all information about the Server location
| */
| protected InvokerLocator locator;
|
| /**
| * Constructor - initializes the locator and sets properties
| */
| public Client() {
| try {
| locator = new
InvokerLocator("multiplex://127.0.0.1:7070");
| } catch (MalformedURLException e) {
| e.printStackTrace();
| }
| }
|
| /**
| * reqests the Server for an handle
| */
| public void requestHandle() {
| HandlerInterface handler;
| try {
| // here the program should throw an exception as no
Object should be
| // created
| handler = (HandlerInterface)
TransporterClient.createTransporterClient(
| locator, HandlerInterface.class);
| // this should not print a return string
| System.out.println("server returned: " +
handler.doHandle());
| TransporterClient.destroyTransporterClient(handler);
|
| } catch (Exception e) {
| e.printStackTrace();
| }
| }
|
| public static void main(String[] args) {
| System.out.println("starting client");
| Client client = new Client();
| client.requestHandle();
| }
| }
|
|
Server code:
---------------
| package server;
|
| import java.io.IOException;
| import java.util.HashMap;
| import java.util.Map;
|
| import org.jboss.remoting.security.SSLSocketBuilder;
| import org.jboss.remoting.transporter.TransporterServer;
|
| public class Server {
|
| /**
| * runs and starts the Server
| *
| * @param args
| */
| public static void main(String[] args) {
| String locatorURL = "multiplex://127.0.0.1:7070";
|
| HandlerInterface handler = new Handler();
| try {
| TransporterServer server = TransporterServer
| .createTransporterServer(locatorURL,
handler, HandlerInterface.class
| .getName(), false);
| server.start();
| } catch (Exception e) {
| e.printStackTrace();
| }
|
| }
|
| }
|
Pojo Code:
-------------
Interface:
| package server;
|
| public interface HandlerInterface {
|
| public abstract String doHandle();
|
| }
|
class with the implemented interface
| package server;
|
| public class Handler implements HandlerInterface {
|
| int counter = 0;
|
| /* (non-Javadoc)
| * @see server.HandlerInterface#doHandle()
| */
| public String doHandle() {
| counter++;
| System.out.println("Counter: "+counter);
| return String.valueOf(counter);
|
| }
| }
|
If you start the server and you run the client once. You can see follow on
client side:
starting client
server returned: 1
the second run:
server returned: 2
this show me, that every client use the same instance of class "Handler". I
expect that another client (new connect to the server) get a new instance of
class.
expectation:
starting client
server returned: 1
the second run:
starting client
server returned: 1
Is there a JBoss remoting implementation to do this?
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3991574#3991574
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3991574
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user