RMI: constructing the server side class (Compute Engine)

I took the Sun RMI tutorial, which was very beneficial. However the understanding now of the RMI interface
from the tutorial has me to come with two new questions. When building your ComputeEngine class (inheriting from Compute which inherits from Remote) do you need to encapsulate the static main function inside ? If not how does
the ComputeEngine process continue without a run function ?
Let say on of the overriding functions in ComputeEngine is:
void doThis(Task t) throws IOExcpetion() {
MyTask mytask = (MyTask) t;
t.execute();
MyTask is a subclass of Task that has been already preinstalled. When the remote client calls the doThis function
how does mytask get the de-serialized data from the client ? Does this function need to do anything to retreive the serialized data ? Also when t.execute is implemented has the Task thread started already ? Do I have to call t.start() ? And how does the execute function survive without being in the run function ?
Thanks Michael

do you need to encapsulate the static main function inside ? If not how does
the ComputeEngine process continue without a run function ?The main() function can be anywhere in your application.
Does this function need to do anything to retreive the serialized data ?No. It just arrives in the method as a parameter.
Also when t.execute is implemented has the Task thread started already?Probably not. It's in whatever state it is in when it's deserialized.
Do I have to call t.start() ?See above.
And how does the execute function survive without being in the run function ?I can't answer the question without knowing anything about the Task class you are using.

Similar Messages

  • How to use server-side classes in a web service proxy client ?

    Greetings,
    I'm using WebLogic 10.3 with Workshop 10.3 on Windows. I generate a Web Service client in Workshop. There are two options in the New->Others->Web Service category: ClientGen Web Service Client and Web Service Client. I've chosen the second one as it's a JAX-WS Web Service and I think that the first one (ClientGen Web Service is to be used with JAX-RPC Web Services. The proxy is generated but, since the Web Service is using POJOs as parameters, a new version of these POJOs is also generated. For example, my Web Service has an operation like: public OrderStatus putOrder (Order), where OrderStatus and Order are application scoped POJOs. The proxy generation process generates a _PortType class which is supposed to be used by the calling client. This class defines an operation public OrderStatus putOrder(Order), but the OrderStatus and Order classes aren't the original ones but the generated ones. The issue is that these generated classes aren't completely equivalent to the original ones, for examples all lists become arrays, the constructors are different, etc. This is extrememly annouying. Is there any option to say to the proxy generation process to keep with the server-side classes ?
    many thanks in advance for any help.
    Nicolas

    The only solution to this problem seems to be using dynamic proxies. But it doesn't work neither as the following code:
    Service service = Service.create(new URL("http://localhost:7001/OrderServiceProject/OrderService?WSDL"),
    new QName("http://www.simplex_software.fr/demo/services", "OrderService"));
    OrderService orderService = service.getPort(new QName("http://www.simplex_software.fr/demo/services", "OrderServicePort"), OrderService.class);
    raises the following exception:
    16 déc. 2009 19:55:51 com.sun.xml.internal.ws.model.RuntimeModeler getRequestWrapperClass
    INFO: Dynamically creating request wrapper Class fr.simplex_software.demo.services.jaxws.PutOrder
    16 déc. 2009 19:55:51 com.sun.xml.internal.ws.model.RuntimeModeler getResponseWrapperClass
    INFO: Dynamically creating response wrapper bean Class fr.simplex_software.demo.services.jaxws.PutOrderResponse
    16 déc. 2009 19:55:51 com.sun.xml.internal.ws.model.RuntimeModeler getRequestWrapperClass
    INFO: Dynamically creating request wrapper Class fr.simplex_software.demo.services.jaxws.GetOrderStatus
    16 déc. 2009 19:55:51 com.sun.xml.internal.ws.model.RuntimeModeler getResponseWrapperClass
    INFO: Dynamically creating response wrapper bean Class fr.simplex_software.demo.services.jaxws.GetOrderStatusResponse
    Exception in thread "main" java.lang.IllegalArgumentException: fr.simplex_software.demo.services.OrderService is not an interface
         at java.lang.reflect.Proxy.getProxyClass(Proxy.java:362)
         at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:581)
         at com.sun.xml.internal.ws.client.WSServiceDelegate.createEndpointIFBaseProxy(WSServiceDelegate.java:630)
         at com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:331)
         at com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:313)
         at com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:295)
         at javax.xml.ws.Service.getPort(Service.java:92)
         at fr.simplex_software.demo.client.OrderServiceClient.main(OrderServiceClient.java:23)
    As a matter of fact, fr.simplex_software.demo.services.OrderService is not an interface but, nevertheless, it's a SEI and it was generated as it is by the IDE Web Service wizard. Big, big confusion ! Of course, this sample works perfectly with Metro, in NetBeans using Glassfish.

  • Problem to update Swing components from RMI object at server side

    Greetings, I have a RMI client/server application, both client and server have a Swing GUI. But at the server side, it appears to me that I can't pass object or make function call to my server GUI class. Because I can't have GUI instance or reference in my Remote object. (java.rmi.MarshalExceptio, java.io.NotSerializableException, blar blar ...)
    My problem is, if a client does something, I want to reflect the changes on the server side GUI. How can I do this except using a spin query?
    Any help would be greatly appreciated.
    Thanks.
    John
    Edited by: zgliang on Sep 13, 2007 3:30 AM

    I'd like to suggest you read the topic "Questions RMI & Swing & SwingWorker", which is similar to yours.

  • Error getting the server-side naming service functionality

    Hi all,
    we are currently setting up the CTS+ activity based transport scenario. Everything seems to be working fine, however, we have to import each transport twice...
    Before I go into detail in the error we get I will first describe our landscape. All the configuration we did was done in debate with SAP.
    We use the SAP Solution manager (ehp1 SP 4) as the CTS+ server as recommended by SAP and have an NWDI system of which we only use the components DTR and CBS (since CMS is not used anymore in the activity based transport). We have defined three logical ports/RFCs. CTSCONFIG points to the NWDI system. CTSDEPLOY is running on the java stack of the solution manager and is only used for portal content (=epa) transports. CTSDEPLOY_DI is pointing to the NWDI system and is used for all NWDI (=dip) changes. The NWDI is running ehp1 SP3.
    In STMS I defined all the non-abap systems (and configured them to use CTSDEPLOY_DI) and created the following transport route:
    upload system (IMP) -> DEV -> ACC -> QAS -> PRD
    I first attached the used dependencies in a transport request (SAP_BUILDT, EP_BUILDT, etc) these imported just fine. Then I did the SCA files which contain our custom code. I extracted these from the assemble step on our current NWDI system which will be removed as soon as we switch to the new CTS+ environment.
    When we import the transport into the runtime systems then we see the DTR and CBS be filled sucesfully for this specific system. However, the transport request itself always fails with errorcode 12 and the error is:
    Error during export service registration: Error getting the server-side naming service functionality during getInitialContext opera
    tion. com.sap.engine.services.jndi.persistent.exceptions.NamingException: Error getting the server-side naming service functionality during getInitialContext operation.
    Error in execution of Web services CTSDEPLOY_DI , exception is cx_cts_file_import_failed
    File import canceled
    When we then reimport the same transport it will go the second time fine. This is no problem during the setup but will not be workable when we go live ofcourse. Is there anyone who had this issue before as well and have a solution for it?
    Kind Regards,
    Nico van der Linden...

    Hello Nico,
    I would need the java trace files to get more info on this issue, but you can start troubleshooting this error with these notes:
    #1172252: CTS+, 'attach file': Troubleshooting Guide;
    #1003674: Enhancement for non-ABAP systems in CTS;
    #1155884: CTS+, configuration 'close coupling': Troubleshooting guide;
    Pay special attention to parameter  NON_ABAP_WBO_CLIENT, whether it's correctly set on your CTS+ system(s).
    Note #1003674 is a must for any CTS+ systems to work properly, as well as having an updated version of the transport programs (tp and R3trans).
    Lastly, note #1155884 goes through some JCoException exceptions that commonly take place during CTS+ transports. But again, you need to check the underlying trace files to find the root cause of your issue.
    I hope this information helps.
    Best regards,
    Tomas Black

  • Package zzz not found in import (server side classes)

              Hi,
              I'm trying to use the "Web Application" feature in WL 5.10
              (with no service pack). My application contains a couple of
              servlets, a couple of server side classes, and a couple of
              jsp pages.
              I created the WEB-INF\classes directory structure both in
              public_html and in my application's root directory. I
              modified setEnv.bat to contain the two directories in
              ClassPath and compilation of my servlets from the command
              line completes OK (the servlets import a package that sits in
              public_html\WEB-INF\classes).
              However, when I try to import the same package from a jsp
              file, I get the "package zzz not found in import" error
              message. The trace shows that the java compiler invoked
              after the servlet has been generated does not contain
              public_html\WEB-INF\classes in the ClassPath, but contains
              public_html\my_app\WEB-INF\classes.
              How can I specify that the java compiler should look under
              public_html\WEB-INF\classes for server side classes? Is there
              another solution and am I even using the right approach?
              Thanks,
              Vladimir
              

              Vladimir wrote:
              >
              > Hi,
              >
              > I'm trying to use the "Web Application" feature in WL 5.10
              > (with no service pack). My application contains a couple of
              You should install the service packs, your problem will probably
              disappear then.
              Web Apps are better supported with service packs.
              > servlets, a couple of server side classes, and a couple of
              > jsp pages.
              >
              > I created the WEB-INF\classes directory structure both in
              > public_html and in my application's root directory. I
              > modified setEnv.bat to contain the two directories in
              > ClassPath and compilation of my servlets from the command
              > line completes OK (the servlets import a package that sits in
              > public_html\WEB-INF\classes).
              >
              > However, when I try to import the same package from a jsp
              > file, I get the "package zzz not found in import" error
              > message. The trace shows that the java compiler invoked
              > after the servlet has been generated does not contain
              > public_html\WEB-INF\classes in the ClassPath, but contains
              > public_html\my_app\WEB-INF\classes.
              >
              > How can I specify that the java compiler should look under
              > public_html\WEB-INF\classes for server side classes? Is there
              > another solution and am I even using the right approach?
              >
              Setting the WEBLOGIC_CLASSPATH should do the trick. Look in weblogic
              start file (On NT startWeblogic.cmd)
              > Thanks,
              > Vladimir
              

  • The query locator has timed out on the server side.

    Hi
    I am getting the error:The query locator has timed out on the server side.
    What to do now?
    AG

    Hi
    Are you using Salesforce.com for creating reports?
    When joining large-sized tables, you may run into a query locator time out
    error. The query locator is a server-side cursor generated by Salesforce.com
    and is used to navigate the query result. It will automatically expire in 15
    minutes without any activity.
    In the case of joining two tables, the report processing engine will read one
    table partly, and then it will process the other table. If the processing time is
    longer than 15 minutes, the Crystal Reports Salesforce.com Driver will try to
    read the rest of the records in the first table and the cursor in that query will
    time out. In the case of joining multiple tables, the chance of running into a
    query locator time issue is higher as the report processing engine might have
    to return to handle the first table after finishing processing other tables,
    increasing the possibility of a query locator time out error in the first table.
    If you run into query locator time out issue, we recommend that you add
    filters into your report to reduce the amount of records you fetch from
    Salesforce.com.
    However, if that is not possible, you can try to reverse the link order in the
    case of joining two tables. For example, you linked table A to table B, then
    you can try to link table B to table A.
    Hope this helps!!
    Regards
    Sourashree

  • Why the server side behavior of LoadVars() not consistent?

    In my server side script for FMS app,there is such code:
    var lv = new LoadVars();
    var params = new LoadVars();
    lv.send("http://mysite.com/registerVideo.php", params, "POST");
    The expected behavior is that the request will be as if sent directly from the browser,thus SESSION information is not lost ,which is the exact behavior for my computer.
    But it's not the case for my boss --- session information is lost for him.
    Why the server side behavior of LoadVars() not consistent?
    What do I need to do to make sure session information is not lost @ server side ?

    Oops,why this feature has always worked like charm for me only??
    Below is the server side request caught from firebug:
    POST registerVideo.php
    http://mysite.net/registerVideo.php
    200 OK
    mysite.net
    115ms
    ParamsHeadersPostPutResponseCacheHTML
    Response Headersview source
    Server
    nginx/0.7.67
    Date
    Tue, 29 Mar 2011 14:45:31 GMT
    Content-Type
    text/html
    Transfer-Encoding
    chunked
    Connection
    keep-alive
    Vary
    Accept-Encoding
    X-Powered-By
    PHP/5.2.14
    Expires
    Thu, 19 Nov 1981 08:52:00 GMT
    Cache-Control
    no-store, no-cache, must-revalidate, post-check=0, pre-check=0
    Pragma
    no-cache
    Content-Encoding
    gzip
    Request Headersview source
    Host
    mysite.net
    User-Agent
    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.13) Gecko/20100914 Firefox/3.5.13
    Accept
    text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language
    en-us,en;q=0.5
    Accept-Encoding
    gzip,deflate
    Accept-Charset
    ISO-8859-1,utf-8;q=0.7,*;q=0.7
    Keep-Alive
    300
    Connection
    keep-alive
    Cookie
    pass=angel333; user=liying123; PHPSESSID=8m966mbd070tsdqqodnncesbj5
    Source
    Referer: http://mysite.net/flash/main.swf?sessionId=8m966mbd070tsdqqodnncesbj5 Content-type: application/x-www-form-urlencoded Content-length: 35 name=test&record=live&action=insert

  • Needs a background webdynpro application running at the server side

    Hi All,
    We have a requirement wherein we need to have an application running all the time at the server side to capture the response coming from a web application. Based on the response that the application receives, it needs to update some backend R/3 tables.
    We are thinking of a webdynpro java application.
    Can anyone suggest what kind of application needs to be implemented here?
    And what  would be the steps required to run the application at the server side without calling the application.
    Thanks & Regards,
    Anurag

    Hi Robin,
    Thanks for the detailed explaination.
    This may sound silly to you but I've another doubt which is as follows:
    As you mentioned that the external web application will be sending requests to our Web service(in SOAP envelopes) and rest of the functionality can be  achieved by our web service.
    Actually, we are expecting only responses from the external web application. The thing is that we are sending the requests to the external web applications from our custom webdynpro application and in return the web application will be sending us 2 responses.
    First response would be back to our WD java application URL(to the browser in which WD java app is running) which would get the response and display some message based on the response.
    Second would be to this web service which you have just suggested. We are having two responses so that even if the browser in which the WD java application is running gets accidentally closed, the response from the external web application must get captured somewhere else and should not get lost in any case.
    So, now since we are only expecting the response from the web application and we do not want any requests from the web application to our web service; how is this possible?
    I am asking the above question because you have mentioned that the external web application has to request our Web service but we want is only this web service to capture the response coming from the Web application.
    Or is it like the web application will send us the response string as request string to our Web Service and the web service will capture these response parameters as request parameters from the web application and do the further processing.
    But in that case, we do not want any response to be sent by the Web Service to the external web application.
    Please suggest if this is possible.
    Once again, many thanks for the help so far.
    Thanks & Regards,
    Anurag

  • Bw web report plugin http session hangs at the server side

    Hi,
    I am having problems when closing the browser of a BW web report. After I closed the browser by going File->close, I ran SM04 and found out the Plugin HTTP session hangs at the server side.
    How can we terminate the Plugin HTTP session at the server side when user closes the internet browser?
    I did implement a logoff function at my web template, if user clicks on the logoff, the Plugin HTTP session is terminated at server side correctly. But As you know, 50% of time user will close the report by closing the internet browser instead of clicking the logoff. That leaves lots of hanging Plugin HTTP sessions at our server side.
    By the way, we actived our BEX service at the SICF.
    Thanks for help!
    JA

    Hi
    If you want to avoid a blank page with logoff button, add opener=0
    <a href="<SAP_BW_URL CMD='LOG_OFF' ~command='logoff'
    >" onClick="javascript:window.close(opener=0);">Log off</a>
    If you want to close the session via X, use this code:
    create a sapscript function
    function closeSession()
    logoff()
    window.unload=CloseSession()
    However, the Plugin HTTP session isn't killed.
    Regards

  • How can I disable excel addin on the Server side?

    Hi, is there any way to disable excel addin on the server side?
    We want to disable it so that no one can modify or read data in the cube in the production environment, even if he or she had installed the add in. Instead, we provide the Planning data forms as the only interface for end-users to read and write. we do this because the add in is very easy to install and users can read and write data in the cube at their will.
    As we designed to keep the security filters simple, it is not a good idea to controll data access through security filters.
    so, what i'm asking is how to disable excel addin on the server side?
    Thank you for replying.
    Edited by: user4592285 on 2012-10-18 上午6:48

    Hi,
    As Gurus suggested, you will have to restrict viewing of data through dimension level security.
    Give access of members to users, only which are relevant to users so that they can't view other user's data/members.
    Like give access of members belonging to HR dept only to HR users and give access of Finance dept related members to finance users only.
    Hence HR users will view only HR relevant data and won't be able to view (read or write) finance related data and vice-sa-versa.
    Hope this helps
    Regards
    -SM
    Edited by: 918547 on Oct 18, 2012 8:40 PM

  • How to delete the server side sessions

    Hi All,
    I have a wireless application and it is accessed through ptg/rm gateway from a PDA browser. Oracle wireless AS gives default login page (when the application is accessed through ptg/rm gateway) and when user login, user information session might get stored in server side (I am not sure, if any one can pls clarify me on this also?).
    Now i have a requirement, in which my application user should get 'logoff' button in each and every page of my application. When he clicks on this button the user information session should get invalidated, so that even if the user goes back to the application (using back button of the browser) he should not able to enter the application. (This is same as any std. login/logout page logic).
    Invalidating the session which resides in client side is easy (By using session.invalide()), but how can i delete the session which resides on the server side??? Whether is it possible??
    If yes then how can i do it.
    Any help will be very usefull.
    Thanks well in adavance.
    Shrikant

    Shrikant:
    Shouldn't it be easy to invalidate the server sided sessions? Right before invalidating the client side session, send a message to the server, which should call its session.invalidate() after it has obtained the current session. If desired, a message can be sent back to the browser informing user that server side session has been deleted.

  • How to access a JS changed attribute on the server side?

    hi all;
    if i change an attribute on a custom component via java script on the client side.
    how can i access the changed value on the server side?
    in what method will i have the access to this changed field?
    thanks in advance.

    You can hardcode the ID of the component in the backingbean (or some propertiesfile) and use ViewRoot.findComponent(componentId). Using the binding is (much!) more elegant anyway.

  • What's wrong about  "JSF that emits Ajax-widgets" on the server side?

    Hi,
    I just read this chat about Ajax on the server side and I wonder what this comment bellow means when we are building JSF application with Ajax:
    Another thing to consider is that in a pure Ajax application (i.e. one that's not a hybrid of a server-side technology like JSF that emits Ajax-widgets), the server can pretty much just respond to requests from the Ajax client in a stateless manner, and all of the state gets distributed to the client, greatly reducing the memory resources on the server. I'm working on an app like this for IBM Rational and we're really excited about the *decreased* load on the server by distributing state to clients.
    http://www.devwebsphere.com/devwebsphere/2006/04/ajax_and_its_im.html
    Thanks in advance.

    Just created a half an hour ago application:
    http://jsfbyexamples.com/facesTrace/
    shows that the AJAX request spends less time on the server even it walk though the whole life-cycle. This is a very small page, BTW. On the complicated page, the difference will be more significant. It is about server resources.
    About network traffic: Do you actually believe that sending the whole page produces less traffic than the portion updates? Just mathematically speaking?
    OK, I guess you mean the AJAX application requires traffic comes back and forward to produce the AJAX functionality. Non-AJAX application does not produce the traffic, but it does not produce the functionality you have in the first case.
    People who argue about it just try to compare Something to Nothing. So, where is the point?
    Sergey : http://jsfTutorials.net

  • Is it possible to downsize a large image on the server side (before serving it to the user)?

    One of the banes of my existence is resizing the same image several times because of the various contexts it appears in. For example, the main image in an article will appear bigger than it will on the index page, where many article teasers are placed. Then there's the image that goes in the Facebook "share" og. Then there's... you get the idea.
    Same image, different contexts, lots of Photoshop resizing, lots of files to keep track of... but I save on bandwidth.
    On the flip side, I can target the same (large) image and simply downsize via traditional HTML (width/height) on the browser end, but that will mean downloading a file that is 50-75% larger than what is actually needed. If the front page teaser displays a 1280px image at 500px, that's a huge (and potentially costly) waste of bandwidth.
    HOWEVER...
    If I could do the same thing on the SERVER side... in other words, tell the server to take only the pixels it needs from the (large) image and serve only THOSE to the end user... then the same image could be used in each and every context, and only the necessary bandwidth is used.
    Is this do-able? If so, what is the process formally called, and where would I begin to learn how to do it?
    Thanks!

    That's amazing. I didn't think it was possible without saving files on the server first.
    This will suit my needs just fine, but allow me to push my luck even further with the following "hail mary" question : would it be possible for the server to serve the PNG with a width of 100% of the container? In other words, the behavior would mimic width=100% but the server would still only serve as many bytes as are needed to fill that space.
    Not only would I not have to create separate files for every resize (we fixed that problem with your suggestion) but I wouldn't even have to customize every link to a specific size.
    I'm not expecting an affirmative on this one, but it was worth asking. =)

  • Sing a PDF document on the server side

    Hi all, i make on the server side a pdf document automaticly with php. Now I want make an script or a programm that automaticly signs my pdf dokumets.
    Do anyone know more about this scripts or programms in Java, that is running on a server?
    Best regards
    Nikolay

    When I sing, it is usually Girls On Film or Hungry Like The Wolf but I know that Percy Blakney has a fondness for Haircut 100.
    Hope That Helps.
    Oh, and by the way, try doing a search on Google. You'll get quite a few results back for Java and PDF, tovarisch.

Maybe you are looking for

  • HT201343 Can I mirror my Mac although it's an old version?

    We can only mirror our Mac with through AirPlay onto Apple TV if the Macbook Pro is a 2011 version or earlier. My macBook Pro is a mid-2009. Has anyone found a way to get around this limitation? I don't want to have to buy a new Mac! Thank you.

  • Selected/activated button overlay in Buttons over Video

    I have six different buttons over video, with one overlay. The buttons are assigned to each of six audio tracks. When I select and activate a button the overlay goes from white to red, and the audio changes to the specified audio track. So far, so go

  • Stolen iPad SMS'd me then disappeared from my iCloud account, why?

    Why has my stolen iPad been removed from my iCloud list of hardware AFTER I received an SMS from apple saying it had been located?

  • Search field opens in new window

    I'm on Safari 5.1. when I enter anything in the search field, it opens on a new window  not on current tab. what seems to be the problem. In preferences, its on automatic already. Thanks

  • WebCenter Portal Mobile Compatability

    Hi , Is their any specific Mobile compatibility options in existing webcenter portal applications . Could you please let us know how to enable/add mobile compatibility for application which we are planning to develop in webcenter Portal Framework . T