avalon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Vinay Chandran <vinay...@yahoo.com>
Subject Re: [altrmi] Callback Iteration(1)
Date Mon, 08 Apr 2002 20:35:04 GMT
Paul,

I dont get this ;-?
Am I looking at the right place,Paul?
(http://cvs.apache.org/viewcvs.cgi/jakarta-avalon-excalibur/altrmi/
)

The cvs @excalibur doesNOT reflect my recent callback
patches and thus the barfs.

Regards,
V i n a y



--- Paul Hammant <Paul_Hammant@yahoo.com> wrote:
> Vinay,
> 
> I have reapplied all the patches and the test barfs
> as follows :
> 
>      [java] Registering CallBackTestListenerImpls
> with the CallBackTest
>      [java] java.io.NotSerializableException: 
>
org.apache.excalibur.altrmi.test.callback.CallBackTestListenerImpl
>      [java]     at 
>
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1054)
>      [java]     at 
>
java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1224)
>      [java]     at 
>
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1050)
>      [java]     at 
>
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
>      [java]     at 
>
org.apache.excalibur.altrmi.common.MethodRequest.writeExternal(MethodRequest.java:147)
>      [java]     at 
>
java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1265)
>      [java]     at 
>
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1243)
>      [java]     at 
>
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
>      [java]     at 
>
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
>      [java]     at 
>
org.apache.excalibur.altrmi.common.SerializationHelper.getBytesFromInstance(SerializationHelper.java:49)
>      [java]     at 
>
org.apache.excalibur.altrmi.client.impl.stream.ClientCustomStreamReadWriter.writeRequest(ClientCustomStreamReadWriter.java:74)
>      [java]     at 
>
org.apache.excalibur.altrmi.client.impl.stream.ClientCustomStreamReadWriter.postRequest(ClientCustomStreamReadWriter.java:64)
>      [java]     at 
>
org.apache.excalibur.altrmi.client.impl.stream.StreamInvocationHandler.handleInvocation(StreamInvocationHandler.java:140)
>      [java]     at 
>
org.apache.excalibur.altrmi.client.impl.BaseServedObject.processObjectRequest(BaseServedObject.java:227)
>      [java]     at 
>
AltrmiGeneratedCallbackTest_Main.addCallBackListener(AltrmiGeneratedCallbackTest_Main.java:29)
>      [java]     at 
>
org.apache.excalibur.altrmi.test.callback.CallBackTestClient.main(CallBackTestClient.java:75)
> 
> Have a check of it your end dude...
> 
> Regards,
> 
> - Paul
> 
> >Paul,
> >I did kind of do that (exposeObject(..) on purpose
> , 
> >something I tried to model along the lines of our
> RMI 
> >dame.
> >[UnicastRemoteObject.exportObject(..) ..]
> >But I guess the way you have illustrated through
> test
> >cases checked in test/callback/ files 
> >is also feasible ; & definitely more kewler.
> >gr8 suggestion dude and it does make sense.
> >And attached here is the patch to get rid of 
> >the exposeObject(..) kind of call .
> >[There was another method within 
> >CallbackInvocationHandler  which had to be
> public'zed
> >]
> >I guess now the test cases that you kindly checked
> >in for me , should work too .
> >(after the proper imports of callback
> >factories/servers)
> >
> >The BaseServedObject marshallerer now checks the
> >typs of arguments and accordingly publishes 
> >the obj with the internal altrmiServer.
> >BTW,
> >the callback.xml must create the stub for the 
> >CallBackTestListener too or we should generate it
> >through code .( I shall start the brain-surgery 
> >on stubs using BCEL after we are through with
> settling
> >
> >the dust over callbacks)
> >
> >
> >Regards,
> >V i n a y
> >
> >
> >
> >__________________________________________________
> >Do You Yahoo!?
> >Yahoo! Tax Center - online filing with TurboTax
> >http://taxes.yahoo.com/
> >
> >
>
>------------------------------------------------------------------------
> >
> >cvs diff BaseServedObject.java (in directory
>
C:\vinay\jc\jakarta-avalon-excalibur\altrmi\src\java\org\apache\excalibur\altrmi\client\impl)
> >Index: BaseServedObject.java
>
>===================================================================
> >RCS file:
>
/home/cvspublic/jakarta-avalon-excalibur/altrmi/src/java/org/apache/excalibur/altrmi/client/impl/BaseServedObject.java,v
> >retrieving revision 1.1
> >diff -r1.1 BaseServedObject.java
> >29a30,34
> >
> >>//callback
> >>import
>
org.apache.excalibur.altrmi.common.ExposedObjectProxy;
> >>import
>
org.apache.excalibur.altrmi.client.impl.socket.CallbackEnabledCustomSocketStreamInvocationHandler;
> >>import java.util.StringTokenizer;
> >>import
>
org.apache.excalibur.altrmi.common.AltrmiCallbackException;
> >>
> >47c52,55
> >< 
> >---
> >
> >>	//<callback related>
> >>	private boolean mbIsCallbackAware=false;
> >>	private
> CallbackEnabledCustomSocketStreamInvocationHandler
>
mCallbackEnabledCustomSocketStreamInvocationHandler=null;
> >>	//</callback related>
> >>
> >70a79,87
> >
> >>        //<callback related>
> >>        if(mInvocationHandler instanceof
> CallbackEnabledCustomSocketStreamInvocationHandler)
> >>		{
> >>			
> >>		
> mCallbackEnabledCustomSocketStreamInvocationHandler
> =
> >>			
>
(CallbackEnabledCustomSocketStreamInvocationHandler)mInvocationHandler;
> >>			mbIsCallbackAware=true;
> >>		}
> >>        //</callback related>		
> >>
> >206c223
> ><         marshallCorrection(args);
> >---
> >
> >>        marshallCorrection(methodSignature,args);
> >>
> >312c329,332
> ><     private void marshallCorrection(Object[]
> args) {
> >---
> >
> >>    private void marshallCorrection(String
> methodSignature , Object[] args) {
> >>
> >>		String _methodArgumentClasses =
>
methodSignature.substring(methodSignature.indexOf("(")+1,methodSignature.lastIndexOf(")"));
> >>		StringTokenizer _methodArgumentClassTokens = new
> StringTokenizer(_methodArgumentClasses,",");
> >>
> >314a335,346
> >
> >>			
> >>			String
> _sArgClass=_methodArgumentClassTokens.nextToken();
> >>			Class _cArgClass=null;
> >>			try
> >>			{
> >>
> >>				_cArgClass=Class.forName(_sArgClass);
> >>			}
> >>			catch(ClassNotFoundException cnfe)
> >>			{
> >>				System.err.println("Class "+_sArgClass +" Not
> Found");
> >>			}
> >>
> >326a359,388
> >
> >>            else if(mbIsCallbackAware)
> >>			{
> >>				String publishedName =
>
mCallbackEnabledCustomSocketStreamInvocationHandler.getPublishedName(args[i]);
> >>				if(publishedName!=null) //already published
> >>				{
> >>					ExposedObjectProxy exposedObjectProxy =  new
> ExposedObjectProxy(publishedName);
> >>					args[i]=exposedObjectProxy;
> >>				}
> >>				else //check whether its Publish'able
> >>				{
> >>					if(!_cArgClass.isInterface()) //Hey do we
> handle only interfaces?
> >>						continue;
> >>				
> if(_cArgClass.isAssignableFrom(args[i].getClass()))
> >>					{
> >>						try
> >>						{
> 
=== message truncated ===


__________________________________________________
Do You Yahoo!?
Yahoo! Tax Center - online filing with TurboTax
http://taxes.yahoo.com/

--
To unsubscribe, e-mail:   <mailto:avalon-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:avalon-dev-help@jakarta.apache.org>


Mime
View raw message