RavenclawDev: java galaxy server

Thomas K Harris tkharris at cs.cmu.edu
Tue Sep 26 17:33:35 EDT 2006


> The ServerOpTest() should get executed, is this correct?

That all sounds right to me.

> Does the stderr output go somewhere
> else from the backend server?

Standard error should be reported to the console window that the process
manager starts just like with a C app.

Did you add "test" to the hub program file? If not, then that's probably it.
Basically you'll want to put it wherever launch_query was. If you already
took care of that, let me know and I'll take a closer look.

-Thomas

> -----Original Message-----
> From: Svetlana Stenchikova [mailto:sveta at cs.sunysb.edu]
> Sent: Tuesday, September 26, 2006 5:17 PM
> To: Thomas K Harris
> Cc: 'Dialog Group CMU'
> Subject: RE: RavenclawDev: java galaxy server
> 
> 
> Hi, I am writing a java backend server (using Jason as a sample java
> server)
> 
> So, as I understand, to write a java server I just need to
> 1.	extend galaxy.server.Server
> 2.	start the MainServer from main() of my program
> 3.	set the class name mainServer.setServerClassName("java_be");
> 4.	declare public GFrame serverOp<name of operation>(GFrame f) for
> all commands that my server accepts.
> 
> 
> Thomas, in Jason there is also a   functions: requestInitSession() which
> is called from startConversation()
> This is necessary for Jason because it is an initiator of a message,
> right? The backend server will be a receiver of the messages.
> 
> 
> So, now I have a question of how to send a message from the dialog manager
> to the backend server.
> 
> In RoomLine it is done from an execute agent using a launch_query:
> DEFINE_EXECUTE_AGENT( CDBGetEvents,
> 	CALL("gal_be.launch_query query=get_events <event_query
> results>eventlistresult error>backend_error")
> 		)
> 
> If my server name is java_be (specified in mainServer.setServerClassName)
> And I have defined a method
>   public GFrame serverOpTest(GFrame f) {
>     System.err.println("Java backend was called!!!");
>     return (GFrame) null;
>   }
> 
> Now, if I call from the Dialog manager Execute agent:
> 
> DEFINE_EXECUTE_AGENT( CDBGetEvents,
> 	CALL("java_be.Test ")
> 		)
> 
> The ServerOpTest() should get executed, is this correct?
> 
> 
> I want to make sure that my java backend server receives a call.
> The ServerOpTest() method prints to standard error. I got nothing in the
> window where the server was started. Does the stderr output go somewhere
> else from the backend server? My DM output has:
> 
> [COR at 16:51:16.934] Executing dialog agent /RavenCalendar/TestCallBackend
> ...
> [TMS at 16:51:16.935] Preparing external server call...
> [TMS at 16:51:16.935] Calling galaxy server java_be.Test.
> [TMD at 16:51:16.936] Calling galaxy server java_be.Test. Call frame dumped
> below.
> {
> query test_query
> }
> 
> [TMS at 16:51:16.939] Galaxy server call complete.
> [TMD at 16:51:16.939] Galaxy server call results dumped below.
> 
> [ERR at 16:51:16.939] Cannot parse result from java_be.Test. Does not start
> with {
> <file c:\documents and settings\sveta\my
> documents\work\calendar\ravencalendar\l
> ibraries\ravenclaw\dmcore\agents\coreagents\trafficmanageragent.cpp, line
> 171>.
> 
> 
> 
> Since I got no output in the java_be server window, I am not sure if my
> server was actually accessed.
> 
> Could you please make any suggestions on how to proceed?
> 
> 
> Thank you
> 
> **************************************************
> my main() is:
> 
>  public static void main(String[] args) throws
> java.io.FileNotFoundException, java.io.IOException, java.lang.Exception {
>     MainServer mainServer = new MainServer("java_be", args);
>     mainServer.setServerClassName("GoogleConnect");
>     try {
>       mainServer.start();
>     } catch(Exception e) {
>       System.err.println(e.toString());
>     }
> }
> 
> ---------------------------------------------------------
> Svetlana Stenchikova, Ph.D. Candidate
> Computer Science Department, Stony Brook University
> http://cs.sunysb.edu/~sveta
> sveta at cs.sunysb.edu
> ---------------------------------------------------------
> 




More information about the Ravenclaw-developers mailing list