You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by jb...@apache.org on 2010/04/09 16:14:56 UTC
svn commit: r932427 - in
/servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi:
RmiConsumerEndpoint.java RmiExchange.java RmiProviderEndpoint.java
marshaler/DefaultRmiMarshaler.java marshaler/RmiMarshalerSupport.java
Author: jbonofre
Date: Fri Apr 9 14:14:55 2010
New Revision: 932427
URL: http://svn.apache.org/viewvc?rev=932427&view=rev
Log:
Resuming RMI component.
Modified:
servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/RmiConsumerEndpoint.java
servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/RmiExchange.java
servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/RmiProviderEndpoint.java
servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/marshaler/DefaultRmiMarshaler.java
servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/marshaler/RmiMarshalerSupport.java
Modified: servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/RmiConsumerEndpoint.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/RmiConsumerEndpoint.java?rev=932427&r1=932426&r2=932427&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/RmiConsumerEndpoint.java (original)
+++ servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/RmiConsumerEndpoint.java Fri Apr 9 14:14:55 2010
@@ -246,26 +246,25 @@ public class RmiConsumerEndpoint extends
// create in-out exchange
InOut exchange = getExchangeFactory().createInOutExchange();
// set the exchange operation name to the called method
- exchange.setOperation(new QName("", ""));
+ //exchange.setOperation(new QName("", ""));
// create the in message
NormalizedMessage in = exchange.createMessage();
// set the exchange in message
exchange.setInMessage(in);
- // check if the method match a WSDL an operation
+ // TODO check if the method match a WSDL an operation
- // create a RMI call container
+ // create a RMI exchange
+ RmiExchange rmiExchange = new RmiExchange();
+ rmiExchange.setObject(proxy);
+ rmiExchange.setMethod(method);
+ rmiExchange.setArgs(args);
-
- RmiExchange rmiCall = new RmiExchange();
- rmiCall.setObject(proxy);
- rmiCall.setMethod(method);
- rmiCall.setArgs(args);
- // populate the message content using the marshaler
- //marshaler.rmiCallToNMR(in, rmiCall);
+ // marshal the RMI exchange into the in message
+ marshaler.rmiExchangeToNmr(in, rmiExchange);
// send the exchange to the delivery channel
// TODO use a send and hold on to the marshaler in a map with the exchange id
- //sendSync(exchange);
+ sendSync(exchange);
// use the marshaler to get back to the object
//return marshaler.objectFromNMR(exchange.getOutMessage());
return null;
Modified: servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/RmiExchange.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/RmiExchange.java?rev=932427&r1=932426&r2=932427&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/RmiExchange.java (original)
+++ servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/RmiExchange.java Fri Apr 9 14:14:55 2010
@@ -19,8 +19,6 @@ package org.apache.servicemix.rmi;
import java.lang.reflect.Method;
import java.rmi.Remote;
-import javax.jbi.messaging.MessageExchange;
-
/**
* <p>
* SMX representation of a RMI exchange.
@@ -33,7 +31,6 @@ public class RmiExchange {
private Object object;
private Method method;
private Object[] args;
-
public Object getObject() {
return object;
}
Modified: servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/RmiProviderEndpoint.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/RmiProviderEndpoint.java?rev=932427&r1=932426&r2=932427&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/RmiProviderEndpoint.java (original)
+++ servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/RmiProviderEndpoint.java Fri Apr 9 14:14:55 2010
@@ -225,12 +225,12 @@ public class RmiProviderEndpoint extends
// create a RMI exchange container
RmiExchange rmiExchange = new RmiExchange();
// populate the RMI exchange
- marshaler.createRmiCall(in, rmiExchange);
+ //marshaler.createRmiCall(in, rmiExchange);
// perform the RMI call
Object response = rmiExchange.invoke(stub);
// TODO handle RMI invocation exception using exchange.setError();
// marshal the response object into a normalized message
- marshaler.handleRmiResponse(exchange, response, rmiExchange.getMethod().getReturnType());
+ //marshaler.handleRmiResponse(exchange, response, rmiExchange.getMethod().getReturnType());
// send the exchange into the NMR
send(exchange);
}
Modified: servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/marshaler/DefaultRmiMarshaler.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/marshaler/DefaultRmiMarshaler.java?rev=932427&r1=932426&r2=932427&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/marshaler/DefaultRmiMarshaler.java (original)
+++ servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/marshaler/DefaultRmiMarshaler.java Fri Apr 9 14:14:55 2010
@@ -24,7 +24,6 @@ import javax.jbi.messaging.MessagingExce
import javax.jbi.messaging.NormalizedMessage;
import org.apache.cxf.databinding.DataBinding;
-import org.apache.cxf.databinding.DataWriter;
import org.apache.servicemix.rmi.RmiExchange;
/**
@@ -44,36 +43,38 @@ public class DefaultRmiMarshaler impleme
/*
* (non-Javadoc)
- * @see org.apache.servicemix.rmi.marshaler.RmiMarshalerSupport#toNMR(javax.jbi.messaging.NormalizedMessage, java.lang.Object, java.lang.reflect.Method, java.lang.Object[])
+ * @see org.apache.servicemix.rmi.marshaler.RmiMarshalerSupport#rmiExchangeFromNmr(javax.jbi.messaging.MessageExchange)
*/
- public void handleRmiResponse(MessageExchange exchange, Object object, Class objectClass) throws MessagingException {
+ public RmiExchange rmiExchangeFromNmr(MessageExchange exchange) throws MessagingException {
if (exchange instanceof InOut) {
// it's an InOut exchange
// create the out message
NormalizedMessage out = exchange.createMessage();
// marshal the object using the data binding
- DataWriter dataWriter = dataBinding.createWriter(objectClass);
+ //DataWriter dataWriter = dataBinding.createWriter(objectClass);
// put the marshaled response into the out message
//out.setContent(dataWriter.write(arg0, arg1)));
} else if (exchange instanceof InOptionalOut) {
// it's an InOptionalOut, send the response only if the object is not null
- if (object != null) {
+ //if (object != null) {
- } else {
+ //} else {
exchange.setStatus(ExchangeStatus.DONE);
- }
+ //}
} else {
// it's an InOnly exchange
exchange.setStatus(ExchangeStatus.DONE);
}
+ return null;
}
/*
* (non-Javadoc)
* @see org.apache.servicemix.rmi.marshaler.RmiMarshalerSupport#rmiCallFromNMR(javax.jbi.messaging.NormalizedMessage)
*/
- public void createRmiCall(NormalizedMessage in, RmiExchange rmiCall) throws MessagingException {
+ public void rmiExchangeToNmr(NormalizedMessage in, RmiExchange rmiExchange) throws MessagingException {
// TODO get the operation in the exchange and construct the RMI method call using object in the in message
+
}
}
Modified: servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/marshaler/RmiMarshalerSupport.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/marshaler/RmiMarshalerSupport.java?rev=932427&r1=932426&r2=932427&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/marshaler/RmiMarshalerSupport.java (original)
+++ servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/marshaler/RmiMarshalerSupport.java Fri Apr 9 14:14:55 2010
@@ -50,7 +50,7 @@ public interface RmiMarshalerSupport {
* @param rmiCall the RMI call to populate.
* @throws MessagingException in case of unmarshaling failure.
*/
- public void createRmiCall(NormalizedMessage in, RmiExchange rmiCall) throws MessagingException;
+ public void rmiExchangeToNmr(NormalizedMessage in, RmiExchange rmiExchange) throws MessagingException;
/**
* <p>
@@ -58,10 +58,9 @@ public interface RmiMarshalerSupport {
* </p>
*
* @param exchange the message exchange.
- * @param object the response object.
- * @param objectClass the response object type.
+ * @return the RMI Exchange.
* @throws MessagingException in case of marshaling failure.
*/
- public void handleRmiResponse(MessageExchange exchange, Object object, Class objectClass) throws MessagingException;
+ public RmiExchange rmiExchangeFromNmr(MessageExchange exchange) throws MessagingException;
}