Accessing remote object after unbind

I'm working on a server, multi-client application where I want the client to throw an exception whenever the client cannot reach the server. I thought the cases where this may occur were the following:
-- The RMI registry is no longer running on the server machine.
-- The server object is no longer present (has become null)
-- The server object has been removed from the RMI registry through Naming.unbind().
The final case has caused me the most fits during testing. I've noticed that if a client has a remote reference to the server object, the client can still make method calls on it even if the server object no longer exists within the RMI registry.
One fix would be to have the client obtain a remote reference to the server object before any remote method call; receiving a NotBoundException if the server object has been removed from the registry.
Yet is there another way that a client can notice if the server object no longer exists within RMI registry?
Thanks.

-- The RMI registry is no longer running on the
server machine.
-- The server object is no longer present (has become
null)This can't happen. Naming.lookup() never return null, they throw NotBoundException instead (even if someone at the server deliberately binds null).
-- The server object has been removed from the RMI
registry through Naming.unbind().There is at least one more more case you need to consider:
-- the remote object has been unexported but left in the Registry (or the client still has a reference from before): this will cause a NoSuchObjectException.
The final case has caused me the most fits during
testing. I've noticed that if a client has a remote
reference to the server object, the client can still
make method calls on it even if the server object no
longer exists within the RMI registry.I'm not clear about your objective here. This can certainly happen but if you're just trying to enumerate the possible exceptions this isn't even an exception.

Similar Messages

  • DBMS_SQL.PARSE to access remote objects

    I am using following code in a procedure ...
    DBMS_SQL.PARSE (cur, vSQL, DBMS_SQL.NATIVE);
    where variable vSQL can contain a remote object.
    A DB link (with Fixed User option) exists to access that database.
    The DB link is working. The remote object is accessible outside this procedure.
    When this command is executed, I get ...
    ORA-24374: define not done before fetch or execute and fetch
    ... error.
    Can DBMS_SQL handle remote objects?
    Oracle version is 9.2.0.5.0
    Any help would be greatly appreciated.

    Here is the code I am running ...
    CREATE OR REPLACE PROCEDURE p_sql_valid_or_not_cnt
    (vSQL IN VARCHAR2, vValid OUT NUMBER, vMessage OUT VARCHAR2, vCount OUT NUMBER) IS
    -- Purpose: Returns 0 in vvalid if SQL is valid, else returns -1. Returns row count when SQL is valid.
    -- Parameters:
    -- IN : vSQL
    -- OUT : vValid
    -- OUT : vMessage
    -- OUT : vCount
    cur INTEGER := DBMS_SQL.OPEN_CURSOR;
    fdbk INTEGER;
    BEGIN
    DBMS_SQL.PARSE (cur, vSQL, DBMS_SQL.NATIVE);
    fdbk := DBMS_SQL.EXECUTE (cur);
    vCount := 0;
    LOOP /* Fetch next row. Exit when done. */
    EXIT WHEN DBMS_SQL.FETCH_ROWS (cur) = 0;
    vCount := vCount + 1;
    END LOOP;
    vValid := 0;
    vMessage := 'No errors';
    DBMS_SQL.CLOSE_CURSOR (cur);
    END p_sql_valid_or_not_cnt;
    To run ...
    set serveroutput on
    declare
    i number;
    m varchar2(500);
    c number;
    begin
    p_sql_valid_or_not_cnt('SELECT * FROM TAB where 1 <> 1',i,m,c);
    DBMS_OUTPUT.PUT_LINE(i);
    DBMS_OUTPUT.PUT_LINE(m);
    DBMS_OUTPUT.PUT_LINE(c);
    end;
    This runs fine.
    But when I try to access an object from a remote server using DB link. I get the error ...
    set serveroutput on
    declare
    i number;
    m varchar2(500);
    c number;
    begin
    p_sql_valid_or_not_cnt('SELECT * FROM REMOTE_SCHEMA.T_REMOTE@REMOTE_SERVER where 1 <> 1',i,m,c);
    DBMS_OUTPUT.PUT_LINE(i);
    DBMS_OUTPUT.PUT_LINE(m);
    DBMS_OUTPUT.PUT_LINE(c);
    end;
    declare
    ERROR at line 1:
    ORA-24374: define not done before fetch or execute and fetch
    ORA-06512: at "SYS.DBMS_SYS_SQL", line 1125
    ORA-06512: at "SYS.DBMS_SQL", line 328
    ORA-06512: at "IMEPAS.P_SQL_VALID_OR_NOT_CNT", line 16
    ORA-06512: at line 6
    I can run the SQL that I am passing as vSQL directly in SQLPLUS ...
    This code in itself works.
    SELECT * FROM
    REMOTE_SCHEMA.T_REMOTE@REMOTE_SERVER
    where 1 <> 1;
    The user I am using to logon to my server is also there on REMOTE_SERVER.
    The DB LINK is created by CONNECTED USER option. The user on REMOTE_SERVER has explict select access on the table (not via role) I am accessing.
    Any help would be much appreciated.

  • "Site System Status Summarizer still cannot access storage object" after DB Move

    After our SCCM server was up and running, the DBAs moved the SQL Site Database to a new drive which is a supported SQL Operation according to this Support document:
    https://support.microsoft.com/en-us/kb/2709082
    Using the methods described by the above document we were able to restore functionality to SCCM but I am still seeing Informational messages in the SMS_SITE_SYSTEM_STATUS_SUMMARIZER component.
    Site System Status Summarizer still cannot access storage object "\\<SQLServer>\S$\SMS_<SQLServer>" on site system "\\<SQLServer>". The operating system reported error 67: The network name cannot be found.
    Possible cause: The site system is turned off, not connected to the network, or not functioning properly.
    Solution: Verify that the site system is turned on, connected to the network, and functioning properly.
    Possible cause: Site System Status Summarizer does not have sufficient access rights to connect to the site system and access the storage object.
    Solution: Verify that the accounts are properly configured to allow the site to connect to the site system and access the storage object.
    Possible cause: Network problems are preventing Site System Status Summarizer from connecting to the site system.
    Solution: Investigate and correct any problems on your network.
    Possible cause: You took the site system out of service and do not intend on using it as a site system any more.
    Solution: Remove the site system from the list of site systems used by this site; this list appears under Site Systems in the Configuration Manager Console.
    Possible cause: You accidentally deleted the storage object or took the storage object out of service.
    Solution: The components will eventually detect that the storage object no longer exists on the site system and will either recreate it or choose a new storage object. Monitor the status messages reported by other site components to verify that this
    occurs properly.
    The storage object has been inaccessible since "14/03/2015 1:23:20 AM". When you correct the problem and Site System Status Summarizer successfully accesses the storage object, Site System Status Summarizer will set the storage object's status
    to OK, providing that the storage object has sufficient free space.
    I have run a site reset to try and fix this but the site server still seems to be trying to access files on the old drive. Is there a method to get SCCM to start looking for these files on the NEW DB drive (H$) in my case?

    Was a site reset performed at all yet? This has to be done. 
    Torsten Meringer | http://www.mssccmfaq.de
    Yes, I tried a site reset prior to making this post. I was sure I had read that this should resolve the issue but unfortunately it seems a site reset did not resolve the issue.
    Since we are running a virtualized environment, is it possible the old drive has to still exist prior to running the site reset? If we add a small "S" drive back to the server and run the site reset again, might that help?

  • Not able to access object after server IP address changes

    I have an Activatable object that gets registered with the RMIDs registry.
    If my servers IP address changes, then when I look up the remote object, I can retrieve it from the registry, but as soon as I make a method call I get an access denied to xx.xx.xx.xx, where xx.xx.xx.xx is the old IP address - and not the new one.
    I've tried rebinding the object to the registry after the IP address has changed but with no success.
    I've also tried settings -Dnetworkaddress.cache.ttl=0. All my lookups are done by hostname.
    Any ideas?
    TIA
    Ian

    If the server changes its IP address all stubs which have already been exported become invalid and must be reacquired. For an Activatable this also means that you must re-register the object as an Activatable as well as rebinding it.

  • How to call a function/event after a Remote Object's data is loaded?

    I'm making a call to a remote object that is loading a good
    amount of data. I've set up a "please wait" label that is supposed
    to display while the data is being loaded and then clear the label
    when the data finishes loading.
    At the moment I've got it set up like so...
    label = 'Loading data, please wait..."
    remoteObj.read.send();
    label = ''
    The problem with this is that the 'please wait' label doesn't
    even display because the actual call to the remote object I'm
    making finishes so quickly even though the data load does not. So
    what I need is possibly an IF statement to check if the data has
    finished loading. If it hasn't finished loading, the label stays in
    the "please wait" status, or if the data does finish loading, then
    the label clears out.
    What would be ideal is...
    remoteObj.read.send(); // gets the data
    if(data is loaded){
    label = '';
    }else{
    label = 'Please wait'
    I just don't know how to form the statement for the data
    loading in the IF statement.

    You are seeing the difference between data loading and UI
    rendereing.
    Reasonable amounts of data load very fast, expecially with
    RemoteObject. Bur rendering the UI is almost always the bottleneck,
    event with AS3 FP8+, which is about 30 percent faster than AS2!
    I have not found a perfect solution for this myself, but i
    think you will want to look into the component data events, to find
    one that fires after the component is actually rendered.
    Tracy

  • How to access the remote Objects Without Db_links?

    Hi ,
    I want to know how to access the remote objects without db_link.That is i want to access a object in some other server which has different database.

    SanjayBala, just so you know that it is possible to create a database link in Oracle to non-Oracle databases in some circumstances. Look up Generic Connectivity aslo know as Heterogenous Services. With 11g Oracle has basically renamed the feature and replaced it with somethinkg named ike DG4ODBC.
    I have not spent time studying the details for DB4ODBC but with HS Oracle provided the interface and you had to obtain the necessary ODBC driver on your own. I had Oracle on AIX reading and writing to SQL Server on Windows but the developers chose to write a java program and connect to both via it. On Windows and Linux platforms the necessary ODBC drivers might be available without the requirement to go out and purchase one.
    The Oracle Open Gateway product is an advanced version of the above features with drivers for specific non-Oracle databases included like DB2 or Informix.
    HTH -- Mark D Powell --

  • Access Remote DB Object using Public DB Link in Application Express -HTMLDB

    How to access and list remote database objects in HTMLDB - V2 (Application Express).
    I can query using Public DB Link with SQL.

    It is not possible. To create reports or forms on remote objects, create local views of the remote objects.
    Mike

  • After 30min of having FF open when I close a tab a msg pops up -Javascript application "Unable to clean current element: TypeError: can't access dead object"

    After around 30min of having FF open when I close a tab a message pops up:
    Javascript application
    Unable to clean current element: TypeError: can't access dead object
    OK
    It randomly stops showing the message for periods of about 30 min.

    hello MichaelStevens, this is very likely caused by one of your addons (maybe one which is performing a certain action every 30mins).
    [[Troubleshoot extensions, themes and hardware acceleration issues to solve common Firefox problems]]
    https://blog.mozilla.org/addons/2012/09/12/what-does-cant-access-dead-object-mean/

  • Unable to access remote EJB object on different server

    I have deployed an EJB module on one server. I have been able to access the entity beans on this server from a standalone java client (on a different machine) using the CORBA Interopable Naming Syntax. Using this syntax
    corbaname:iiop:<hostname>:port#<jndi-name>
    However, when I deploy another EJB module on a separate server I am unable to access the objects held on the original server. I am using the same syntax as the java client.
    We are using Sun Application Server to deploy the modules. The error held in the server log is below. Can someone help with this. Does the Sun Application Server prevent connection to remote objects by default?
    [#|2005-12-09T17:39:55.703+0000|SEVERE|sun-appserver-pe8.1_02|javax.enterprise.resource.corba._DEFAULT_.rpc.transport|_ThreadID=11;|"IOP00410216: (COMM_FAILURE) Unable to create IIOP listener on the specified host/port: all interfaces/3700"
    org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 216 completed: No
         at com.sun.corba.ee.impl.logging.ORBUtilSystemException.createListenerFailed(ORBUtilSystemException.java:2661)
         at com.sun.corba.ee.impl.logging.ORBUtilSystemException.createListenerFailed(ORBUtilSystemException.java:2681)
         at com.sun.corba.ee.impl.transport.SocketOrChannelAcceptorImpl.initialize(SocketOrChannelAcceptorImpl.java:167)
         at com.sun.corba.ee.impl.transport.CorbaTransportManagerImpl.getAcceptors(CorbaTransportManagerImpl.java:207)
         at com.sun.corba.ee.impl.transport.CorbaTransportManagerImpl.addToIORTemplate(CorbaTransportManagerImpl.java:224)
         at com.sun.corba.ee.spi.oa.ObjectAdapterBase.initializeTemplate(ObjectAdapterBase.java:104)
         at com.sun.corba.ee.impl.oa.toa.TOAImpl.<init>(TOAImpl.java:78)
         at com.sun.corba.ee.impl.oa.toa.TOAFactory.getTOA(TOAFactory.java:65)
         at com.sun.corba.ee.impl.orb.ORBImpl.connect(ORBImpl.java:1536)
         at com.sun.corba.ee.spi.presentation.rmi.StubAdapter.connect(StubAdapter.java:164)
         at com.sun.corba.ee.impl.orbutil.ORBUtility.connectAndGetIOR(ORBUtility.java:825)
         at com.sun.corba.ee.impl.orb.ORBImpl.getFVDCodeBaseIOR(ORBImpl.java:901)
         at com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.addServiceContexts(CorbaClientRequestDispatcherImpl.java:737)
         at com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.beginRequest(CorbaClientRequestDispatcherImpl.java:227)
         at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.request(CorbaClientDelegateImpl.java:127)
         at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.is_a(CorbaClientDelegateImpl.java:244)
         at org.omg.CORBA.portable.ObjectImpl._is_a(ObjectImpl.java:112)
         at org.omg.CosNaming.NamingContextHelper.narrow(NamingContextHelper.java:69)
         at com.sun.jndi.cosnaming.CNCtx.setOrbAndRootContext(CNCtx.java:345)
         at com.sun.jndi.cosnaming.CNCtx.initUsingCorbanameUrl(CNCtx.java:321)
         at com.sun.jndi.cosnaming.CNCtx.initUsingUrl(CNCtx.java:247)
         at com.sun.jndi.cosnaming.CNCtx.createUsingURL(CNCtx.java:85)
         at com.sun.jndi.url.iiop.iiopURLContextFactory.getUsingURLIgnoreRest(iiopURLContextFactory.java:56)
         at com.sun.jndi.url.iiop.iiopURLContext.getRootURLContext(iiopURLContext.java:44)
         at com.sun.jndi.toolkit.url.GenericURLContext.lookup(GenericURLContext.java:182)
         at javax.naming.InitialContext.lookup(InitialContext.java:351)
         at com.ppl.services.ServiceLocator.lookup(ServiceLocator.java:47)
         at com.ppl.services.ServiceLocator.getRemoteHome(ServiceLocator.java:74)
         at com.ppl.services.ServiceLocator.getRemoteUSRRoutinesHome(ServiceLocator.java:134)
         at com.ppl.business.LoginBusiness.isUserServiceAvailable(LoginBusiness.java:50)
         at org.apache.jsp.testEJBComponents_jsp._jspService(testEJBComponents_jsp.java:72)
         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:105)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:336)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:251)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
         at sun.reflect.GeneratedMethodAccessor60.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:249)
         at java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
         at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:282)
         at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:257)
         at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
         at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:161)
         at java.security.AccessController.doPrivileged(Native Method)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:263)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
         at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:225)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:173)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:132)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:933)
         at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:185)
         at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:653)
         at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:534)
         at com.sun.enterprise.web.connector.grizzly.ProcessorTask.doTask(ProcessorTask.java:403)
         at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:55)
    Caused by: java.lang.Error: Untranslated exception
         at sun.nio.ch.Net.translateToSocketException(Net.java:63)
         at sun.nio.ch.Net.translateException(Net.java:79)
         at sun.nio.ch.Net.translateException(Net.java:85)
         at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:61)
         at com.sun.enterprise.server.ss.ASServerSocket.bind(ASServerSocket.java:258)
         at com.sun.enterprise.server.ss.ASServerSocket.bind(ASServerSocket.java:231)
         at com.sun.enterprise.iiop.IIOPSSLSocketFactory.createServerSocket(IIOPSSLSocketFactory.java:289)
         at com.sun.corba.ee.impl.transport.SocketOrChannelAcceptorImpl.initialize(SocketOrChannelAcceptorImpl.java:160)
         ... 62 more
    Caused by: java.net.SocketException: Already bound
         at sun.nio.ch.Net.translateToSocketException(Net.java:49)
         ... 69 more
    Caused by: sun.nio.ch.AlreadyBoundException
         at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:114)
         at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59)
         ... 66 more
    |#]
    [#|2005-12-09T17:39:55.703+0000|WARNING|sun-appserver-pe8.1_02|javax.enterprise.resource.corba._INITIALIZING_.rpc.presentation|_ThreadID=11;|"IOP02310202: (OBJ_ADAPTER) Error in connecting servant to ORB"
    org.omg.CORBA.OBJ_ADAPTER: vmcid: SUN minor code: 202 completed: No
         at com.sun.corba.ee.impl.logging.ORBUtilSystemException.orbConnectError(ORBUtilSystemException.java:8276)
         at com.sun.corba.ee.impl.logging.ORBUtilSystemException.orbConnectError(ORBUtilSystemException.java:8294)
         at com.sun.corba.ee.impl.orb.ORBImpl.connect(ORBImpl.java:1538)
         at com.sun.corba.ee.spi.presentation.rmi.StubAdapter.connect(StubAdapter.java:164)
         at com.sun.corba.ee.impl.orbutil.ORBUtility.connectAndGetIOR(ORBUtility.java:825)
         at com.sun.corba.ee.impl.orb.ORBImpl.getFVDCodeBaseIOR(ORBImpl.java:901)
         at com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.addServiceContexts(CorbaClientRequestDispatcherImpl.java:737)
         at com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.beginRequest(CorbaClientRequestDispatcherImpl.java:227)
         at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.request(CorbaClientDelegateImpl.java:127)
         at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.is_a(CorbaClientDelegateImpl.java:244)
         at org.omg.CORBA.portable.ObjectImpl._is_a(ObjectImpl.java:112)
         at org.omg.CosNaming.NamingContextHelper.narrow(NamingContextHelper.java:69)
         at com.sun.jndi.cosnaming.CNCtx.setOrbAndRootContext(CNCtx.java:345)
         at com.sun.jndi.cosnaming.CNCtx.initUsingCorbanameUrl(CNCtx.java:321)
         at com.sun.jndi.cosnaming.CNCtx.initUsingUrl(CNCtx.java:247)
         at com.sun.jndi.cosnaming.CNCtx.createUsingURL(CNCtx.java:85)
         at com.sun.jndi.url.iiop.iiopURLContextFactory.getUsingURLIgnoreRest(iiopURLContextFactory.java:56)
         at com.sun.jndi.url.iiop.iiopURLContext.getRootURLContext(iiopURLContext.java:44)
         at com.sun.jndi.toolkit.url.GenericURLContext.lookup(GenericURLContext.java:182)
         at javax.naming.InitialContext.lookup(InitialContext.java:351)
         at com.ppl.services.ServiceLocator.lookup(ServiceLocator.java:47)
         at com.ppl.services.ServiceLocator.getRemoteHome(ServiceLocator.java:74)
         at com.ppl.services.ServiceLocator.getRemoteUSRRoutinesHome(ServiceLocator.java:134)
         at com.ppl.business.LoginBusiness.isUserServiceAvailable(LoginBusiness.java:50)
         at org.apache.jsp.testEJBComponents_jsp._jspService(testEJBComponents_jsp.java:72)
         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:105)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:336)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:251)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
         at sun.reflect.GeneratedMethodAccessor60.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:249)
         at java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
         at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:282)
         at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:257)
         at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
         at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:161)
         at java.security.AccessController.doPrivileged(Native Method)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:263)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
         at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:225)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:173)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:132)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:933)
         at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:185)
         at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:653)
         at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:534)
         at com.sun.enterprise.web.connector.grizzly.ProcessorTask.doTask(ProcessorTask.java:403)
         at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:55)
    Caused by: org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 216 completed: No
         at com.sun.corba.ee.impl.logging.ORBUtilSystemException.createListenerFailed(ORBUtilSystemException.java:2661)
         at com.sun.corba.ee.impl.logging.ORBUtilSystemException.createListenerFailed(ORBUtilSystemException.java:2681)
         at com.sun.corba.ee.impl.transport.SocketOrChannelAcceptorImpl.initialize(SocketOrChannelAcceptorImpl.java:167)
         at com.sun.corba.ee.impl.transport.CorbaTransportManagerImpl.getAcceptors(CorbaTransportManagerImpl.java:207)
         at com.sun.corba.ee.impl.transport.CorbaTransportManagerImpl.addToIORTemplate(CorbaTransportManagerImpl.java:224)
         at com.sun.corba.ee.spi.oa.ObjectAdapterBase.initializeTemplate(ObjectAdapterBase.java:104)
         at com.sun.corba.ee.impl.oa.toa.TOAImpl.<init>(TOAImpl.java:78)
         at com.sun.corba.ee.impl.oa.toa.TOAFactory.getTOA(TOAFactory.java:65)
         at com.sun.corba.ee.impl.orb.ORBImpl.connect(ORBImpl.java:1536)
         ... 56 more
    Caused by: java.lang.Error: Untranslated exception
         at sun.nio.ch.Net.translateToSocketException(Net.java:63)
         at sun.nio.ch.Net.translateException(Net.java:79)
         at sun.nio.ch.Net.translateException(Net.java:85)
         at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:61)
         at com.sun.enterprise.server.ss.ASServerSocket.bind(ASServerSocket.java:258)
         at com.sun.enterprise.server.ss.ASServerSocket.bind(ASServerSocket.java:231)
         at com.sun.enterprise.iiop.IIOPSSLSocketFactory.createServerSocket(IIOPSSLSocketFactory.java:289)
         at com.sun.corba.ee.impl.transport.SocketOrChannelAcceptorImpl.initialize(SocketOrChannelAcceptorImpl.java:160)
         ... 62 more
    Caused by: java.net.SocketException: Already bound
         at sun.nio.ch.Net.translateToSocketException(Net.java:49)
         ... 69 more
    Caused by: sun.nio.ch.AlreadyBoundException
         at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:114)
         at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59)
         ... 66 more
    |#]

    http://docs.sun.com/source/819-0079/dgjndi.html

  • Accessing objects after closing the PersistenceManager

    I have a session bean which returns a collection of objects obtained from a
    query. The problem is if I close my PersistenceManager in the session bean
    method, I can't access the objects. What will happen if I don't close it?
    Won't I have a memory leak? I'm curious if I'm missing something. Here is
    my code, I cut out most of it. The println's work fine if I comment out the
    pm.close().
    public Collection searchFlights(AirportCode from, AirportCode to, Calendar
    calendar, int passengers) {
    PersistenceManager pm = null;
    try {
    pm = factory.getPersistenceManager();
    c = (Collection) q.executeWithMap(p);
    } finally {
    pm.close();
    Iterator i = c.iterator();
    while (i.hasNext()) {
    System.out.println("Flight = " + (Flight) i.next());
    return c;

    Michael-
    Firstly, you do not need to obtain and close the PersistenceManager in
    each method if you are using a stateful session bean. However, if you
    are using a stateless session bean, section 16.1.1 mandates:
    At the end of the business method, the PersistenceManager instance
    must be closed. This allows the transaction completion code in the
    PersistenceManager to free the instance and return it to the
    available pool in the PersistenceManagerFactory.
    Now, as it happens, we don't pool PersistenceManagers, and I am fairly
    sure that it would work fine if you didn't close it, but it is always
    good to respect the spec when writing portable code.
    I suspect that the problem that you might be seeing is that your session
    bean is serializing the Collection to return to the client. Note that
    the full closure of serializable fields can wind up being a huge
    performance hit (e.g., the entire object graph in the database may be
    instantiated). Bear this in mind when your code is serializing a PC.
    To get around the problem, you could throw in a quick serialization
    right before you close the PM. E.g.:
    new ObjectOutputStream (new ByteArrayOutputStream ()).writeObject (c);
    This will be a performance hit, but I doubt that it will be any more so
    than sending the entire serialized graph over the network.
    In article <[email protected]>, Michael wrote:
    I have a session bean which returns a collection of objects obtained from a
    query. The problem is if I close my PersistenceManager in the session bean
    method, I can't access the objects. What will happen if I don't close it?
    Won't I have a memory leak? I'm curious if I'm missing something. Here is
    my code, I cut out most of it. The println's work fine if I comment out the
    pm.close().
    public Collection searchFlights(AirportCode from, AirportCode to, Calendar
    calendar, int passengers) {
    PersistenceManager pm = null;
    try {
    pm = factory.getPersistenceManager();
    c = (Collection) q.executeWithMap(p);
    } finally {
    pm.close();
    Iterator i = c.iterator();
    while (i.hasNext()) {
    System.out.println("Flight = " + (Flight) i.next());
    return c;
    Marc Prud'hommeaux [email protected]
    SolarMetric Inc. http://www.solarmetric.com

  • Can't access remote java object

    I'm using Flex Builder 3 plug-in and trying to build a simple
    demo app that uses JDBC to return results to a datagrid.
    However, I getting the following error message:
    "[MessagingError message='Destination 'enrollmentService'
    either does not exist or the destination has no channels defined
    (and the application does not define any default channels.)']"
    faultCode="InvokeFailed" faultDetail="Couldn't establish a
    connection to 'enrollmentService'"]
    I have the enrollService.class deployed under WEB-INF/classes
    of the blazeds webapp under Tomcat. (Just not sure exactly where to
    put it.) Also in my project in Flex builder I created a
    WEB-INF/classes under WebContent and put the class there as well.
    I've attached both my remoting-config.xml and my apps .mxml
    files
    I'm pulling my hair out trying to figure out what needs to go
    where in order my remote object to be available. Any help would be
    much much appreciated.

    Just use event.target which will return the doc object.
    see sample code below
    var doc = event.target;
    doc.print();
    doc.saveAs();
    doc.closeDoc();
    Nith

  • Running one rmiregistry for multiple remote object servers

    Hi,
    I don't find any clear answer for this situation. I want that multiple objet servers (running in separated JVMs) share one rmiregistry placed on a dedicated server. Servers stays in a same network (no firewall at all). If this feature is covered, could you give me any example or link that describe the source code ?
    Thanks very well for yours answers.
    Manuel

    Thanks again for your help, and sorry for my weak usage of english language.
    I've tried to bind some remote objects from distinct 'physical' hosts (or computers) to a dedicated registry located on another host.
    To resume: I want to use one unique registry for multiple remote objects hosts.
    EJP you have posted : But they must all be running on the same host as the Registry.
    After reading again the official rmi tutorial, I found :
    For security reasons, an application can only bind, unbind, or rebind remote object references with a registry running on the same host. This restriction prevents a remote client from removing or overwriting any of the entries in a server's registry. A lookup, however, can be requested from any host, local or remote.
    This confirm that I wanted to do was not possible.
    To override this limitation, do you think it's possible to write a remote object located on the registry host, that propose a method used from other hosts to register their remote objects ? Something like that:
    // Interface
    public interface recordFromHost extends Remote {
        int recordObject(String name, Remote obj) throws RemoteException;
    // Implementation of interface
    public class recordFromHostImpl extends UnicastRemoteObject implements recordFromHost {
        public recordFromHostImpl () throws RemoteException {
            super();
        public int recordObject(String name, Remote obj) {
           int ret=0;
            try {
                Registry registry = LocateRegistry.getRegistry();
                registry.bind(name, obj);
            } catch (Exception e) {
                System.err.println("recordObject exception:");
                e.printStackTrace();
                ret = -1;
        return ret;
    // Server code on registry host
    public class Serveur {
    public static void main(String args[]) {
            // Security manager
            if (System.getSecurityManager() == null) {
                System.setSecurityManager(new SecurityManager());
            // Start of registry
            try{
                LocateRegistry.createRegistry(1099);
            }catch(RemoteException e){
                System.exit(1);
            try {
                String name = "recordFromHost";
                recordFromHost myObj = new recordFromHostImpl ();
                Registry registry = LocateRegistry.getRegistry();
                registry.bind(name, myObj);
            } catch (Exception e) {
                System.err.println("bind exception:");
                e.printStackTrace();
    // Code used from a server host to register his remote object in the distant registry
    Registry registry = LocateRegistry.getRegistry(registry host adress);
    recordFromHost  myRecord  = (recordFromHost) registry.lookup("recordFromHost");
    Create local remote object to register (remoteObject : interface, remoteObjectImpl : implementation)
    remoteObject myRemoteObject = new remoteObjectImpl();
    // register myRemoteObject
    myRecord.recordObject("myRemoteObject", myRemoteObject );
    ...Finally, a client who want to use myRemoteObject ask the registry for this object, and use it without limitation : the remote object host will not be the registry host.
    I hope that you understand what I mean :-)
    Manuel

  • Portal failed to access remote resource due to network failures

    Hi,
    We have a portlet that allows users to upload files to a SQL Server database and make it available for other users to access. The portlet code is on our remote servers. Everything works fine in dev environment, but certain files fail in pre-prod and prod within the portal, but work fine when the code is executed outside the portal.
    I keep getting this error:
    Error - Portal failed to access remote resource due to network failures. Try again later or contact your portal administrator.     
    What could the problem be?
    Thank you for your help.
    Rad

    If the Studio service looks good on the remote server where Studio is installed (check that
    the service is started and look in the Studio logs for any warnings or errors), you should
    also verify the configuration settings in the Studio remote server object. Is it properly
    configured and pointing to the correct remote server?
    If so, check the portal servers access to the Studio server via the port specified in the remote
    server (default is 11935). You can test this by doing a telnet test on the portal server. In a cmd
    prompt (Windows) or on the CLI (Unix), type 'telnet [studioserver] 11935', where "<servername> is
    the name of your Studio remote server. The screen should just go blank, meaning that there is
    something accepting connections on that port on the given server. (We would hope it's the Studio
    app and not another service occupying that port.) If you get "Could not open connection to the host"
    or some such similar result, check that the network between the portal and the Studio remote server
    is open (ie, make sure there isn't any port blocking or a firewall in place that would hinder the
    communication between the two servers).

  • Two remote objects calls on the same php class

    Hi to all,
           I've encountered a strange issue while developing with remote objects.
    I've a mxml component with an init() method inside which is called by a menu.
    When the init() method is called it makes 7 remote object calls which are bound to some components' dataprovider.
    Among this calls I've got 2 remote object which refer to the same remote class. This because I have to call the class twice and the bind the result to two different combobox. Below you find the code:
    <mx:RemoteObject id="myFile" source="myRemoteClass" destination="amfphp"  showBusyCursor="true" makeObjectsBindable="true" fault="traceFault(event)"/>
    <mx:RemoteObject id="myXls"  source="myRemoteClass" destination="amfphp"  showBusyCursor="true" makeObjectsBindable="true" fault="traceFault(event)"/>
    in the init function I make this calls:
    myFile.listDir("dir_1")
    myXls.listDir("dir_2")
    then in the mxml code I bound the result of myFile to combobox1 and the result of myXls on combobox2.
    The problem arise when I call the myXls' listDir method. When I call it I receive the following error:
    code:
    Client.Error.DeliveryInDoubt
    Message:
    Channel disconnected
    Detail:
    Channel disconnected before an acknowledgement was received
    The strange thing is that not only the myXls object returns this error, but also all the other 6 remote object return the same error above.
    I'm not sure, but I guess that the error could be caused by the two remote object which call the same php remote class. If I comment one of the two calls everything works fine.
    Do you have any suggestion about?
    Thanks!!
    Bye
    Luke

    Hi Jan.
    1) We have the 2 VO, each with 3 rows to fill in data. What I mean is that when i just fill in all the fields for the first row of the first VO, and the value of one of these fields is bigger than 50, then after the exception is thrown and the message is displayed, the fields for the first VO are duplicated and shown in the second VO as if the user had inserted them.
    2) We tried yesterday the validateEntity and a Method and Atributte Validator approaches after reading that white paper with the same results.
    The validation is correctly done using any of the those methods.
    I will try to reproduce this issue with the HR schema.
    Thanks in advance once again.

  • PL/SQL: ORA-04052: error occurred when looking up remote object.

    Hi All,
    I'm getting the following error message while executing a PL/SQL Block.
    PL/SQL: ORA-04052: error occurred when looking up remote object UPLDUSER.filestatushistory@FTS
    ORA-00604: error occurred at recursive SQL level 1
    ORA-03106: fatal two-task communication protocol error
    ORA-02063: preceding line from FTSStatement
    declare
    v_coun number;
    begin
    select count(*) into v_coun
    from updluser.filestatushistory@fts;
    end;Back ground of the situation as follows,
    My DataBase version 10.2.0.3 DB Name :DB1
    Table Owner : UPLDUSER
    Table Name : FILESTATUSHISTORY
    I have a report user on the same database and I have grant all on the above table to report user
    Report User : RPT_FTS
    SQL> GRANT ALL ON FILESTATUSHISTORY_V TO RPT_FTS;Now Please find the below database details where I'm getting subjected error.
    Database version : 9.2.0.8
    DB Name : DB2
    User Name : RPT_REPORTS
    I Have create a dblink from RPT_REPORTS to RPT_FTS on DB1 and the dblink works fine. But getting the above error while running it.
    but When I do the same other 10.2.0.3 db , the above PL/SQL block works fine without any problem.
    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    Now the strange about this is that I have Created a new table on DB1 db like below;
    SQL> CREATE TABLE UPLDUSER.ABC AS SELECT * FROM FILESTATUSHISTORY;and retry my code on DB2 (9.2.0.8) after changing the table to ABC and it worked. Now I don't know whats wrong with a original table(FILESTATUSHISTORY).
    To over come the problem and a work-a-round method I create a view on the DB1 (RPT_FTS) like the below
    SQL> CREATE VIEW FILESTATUSHISTORY AS SELECT * FROM UPLDUSER.FILESTATUSHISTORY;and was able to run the PL/SQL block Remotely.
    Just wants To know what whould have been the cause for this .
    Cheers
    Kanchana

    Hi Kanchana,
    Perhaps following link of google search has answer to your query
    ORA-04052. The search result contains some useful articles whose URLs I shan't post in the forums.
    HTH!
    *009*

Maybe you are looking for

  • I try to download an app, but it says I need a new version of iPod software, yet I have the latest version.

    I've had this issue a couple times now. I have a iPod touch. It is a couple years old, but still new enough to have dual cameras. There have been a couple apps I've tried to load, and it tells me I need a new version of iPod software. I go to the iPo

  • Back up just SOME of the music library to an external hard drive

    I want to move just some of my music from my iTunes library onto an external hard drive (reason? the music cannot be got again, but right now I am not sure if I need it all or not). So I want to move, say, 50 albums from the main iTunes libraray to a

  • System memory isn't available afer the execution of select statement.

    hi experts, i have written the following query.      SELECT BUKRS BLART BUDAT BLDAT MONAT              FROM BKPF INTO CORRESPONDING FIELDS OF TABLE IT_BKPF                  WHERE BUKRS IN BKRS AND BUDAT IN DATE.        IF SY-SUBRC EQ 0.        SELECT

  • Deployment problem (plss help)

    I got the following error while deployment Module named 'portalEAR' failed to deploy. weblogic.management.DeploymentException: [J2EE:160149]Error while processing library references. Unresolved Webapp Library references for "weblogic.servlet.internal

  • Order not cmoming in Delta Que

    Hi Friends ,     I have created an order , but the order is not coming in the rsa3 . I think the delta Que is not having those orders . How to get those order in delta Que .Can anyone help me in this . Reagrds Ankit