EJB access from C++ client / Failover+LoadBalancing

We are accessing an EJB from VisiBroker for C++. The EJB is deployed in a WLS cluster.
Trying to achieve something like 'failover', we discovered that VisiBroker supports
multiloc addresses, so we are able to start our client as follows:
./client -ORBInitRef NameService=corbaloc::server1:8001,:server2:8002/NameService
As a result, server2 is only used when NameService of server1 is not available.
After connecting to a distinct NameService in a cluster, all further IIOP calls
are routed to this cluster server only. If the server shuts down, a new NameService
connection has to be made to get access to the other server and its objects.
Is this correct so far?
For the idea of 'load balancing' our EJB accesses, we didn't find a solution -
so it seems that this is completely impossible or is there any trick we could
use?
Thanks for your help
ml

"Marko Lorentz" <[email protected]> writes:
We are accessing an EJB from VisiBroker for C++. The EJB is deployed in a WLS cluster.
Trying to achieve something like 'failover', we discovered that VisiBroker supports
multiloc addresses, so we are able to start our client as follows:
./client -ORBInitRef NameService=corbaloc::server1:8001,:server2:8002/NameService
As a result, server2 is only used when NameService of server1 is not available.
After connecting to a distinct NameService in a cluster, all further IIOP calls
are routed to this cluster server only. If the server shuts down, a new NameService
connection has to be made to get access to the other server and its objects.
Is this correct so far?
For the idea of 'load balancing' our EJB accesses, we didn't find a solution -
so it seems that this is completely impossible or is there any trick we could
use?If you use the Tuxedo 8.1 C++ client, then you will get per-request
load-balancing and failover. The C++ client is free to WLS licensees.
andy

Similar Messages

  • Accessing EJB's from CORBA clients

    Hi!
    Can someone answer one badly important question?
    Is it possible to access EJB's from CORBA clients directly, as if the
    beans were ordinary CORBA objects? I mean DIRECT access - WIDHOUT
    CORBA/Java server application as a liason between CORBA client and EJB
    server!
    I'm using WebLogic Enterprise 5.0.1.
    Thanks in advance.
    Aleksey.

    Please reference a later posting on this very same question.
    -- Lou Caraballo
    Sr. Systems Engineer
    BEA Systems Inc., Denver Telco Group
    719-332-0818 (cell)
    720-528-6073 (denver)
    Aleksey Bukavnev <[email protected]> wrote in message
    news:[email protected]..
    Thank you!
    Aleksey.
    Bill Lloyd wrote:
    There is a java to IDL mapping, which is quite complex. To use it, you
    must
    have an ORB which supports, at minimum, CORBA 2.3. ORBs I know of which
    support this include Orbix 2000 for Java, Visibroker 4.0 for Java, and
    Orbacus 4.0 for Java.
    Also, check out the June 2000 "Java Report" which has an article onthis.
    >>
    To be perfectly honest, though, the best solution is to write a bridge,in
    Java. One side is IDL, which CORBA clients use. The implementation ofthat
    IDL makes RMI requests to get the necessary info. This solution willwork,
    guaranteed. The portion of the spec for the java to IDL mapping isstill
    quite new, and I would expect some, uh, "unexpected features" at thistime.
    >>
    -B
    "Aleksey Bukavnev" <[email protected]> wrote in message
    news:[email protected]..
    Hi!
    Can someone answer one badly important question?
    Is it possible to access EJB's from CORBA clients directly, as if the
    beans were ordinary CORBA objects? I mean DIRECT access - WIDHOUT
    CORBA/Java server application as a liason between CORBA client and EJB
    server!
    I'm using WebLogic Enterprise 5.0.1.
    Thanks in advance.
    Aleksey.

  • EJB deployment/access from the Client Machine

    I want to deploy/access the EJB on the Oracle 8i server from the
    Client Machine. From the Oracle 8i server machine i am able to
    deploy and access the EJB
    When i am trying to deploy/access the EJB i am getting the
    following message
    javax.naming.CommunicationException: Unknown service : sess_iopp
    url
    Please tell me what to do ?
    Thanks in advance
    null

    Are you using JDeveloper? If yes then go to File|New->Snippets
    and select 'Example JServer EJB Client' to create an EJB client.
    : javax.naming.CommunicationException: Unknown service :
    sess_iopp
    It's sess_iiop not iopp ;-)
    Regards,
    Arun
    Manish Patel (guest) wrote:
    : I want to deploy/access the EJB on the Oracle 8i server from
    the
    : Client Machine. From the Oracle 8i server machine i am able to
    : deploy and access the EJB
    : When i am trying to deploy/access the EJB i am getting the
    : following message
    : javax.naming.CommunicationException: Unknown service :
    sess_iopp
    : url
    : Please tell me what to do ?
    : Thanks in advance
    null

  • EJB access from applet on Linux

    Hi,
    I've been trying for 2 days now to access an EJB in JServer from a Java Applet running in the Java Plugin 1.2.2 in Netscape on Linux.
    After loading the applet web page the plugin fires up and downloads a whole bunch of needed classes. Then I get this exception:
    java.lang.ExceptionInInitializerError: org.omg.CORBA.INITIALIZE: can't instantiate default ORB implementation
    com.visigenic.vbroker.orb.ORB minor code: 0 completed: No
    at org.omg.CORBA.ORB.create_impl(ORB.java, Compiled Code)
    at org.omg.CORBA.ORB.<clinit>(ORB.java:202)
    at oracle.aurora.jndi.orb_dep.Orb.init(Orb.java, Compiled Code)
    at oracle.aurora.jndi.orb_dep.IRFinder.getObject(IRFinder.java, Compiled Code)
    at oracle.aurora.jndi.orb_dep.IRFinder.initialReferences(IRFinder.java, Compiled Code)
    at oracle.aurora.jndi.sess_iiop.SessionCtx.initialContext(SessionCtx.java, Compiled Code)
    at oracle.aurora.jndi.sess_iiop.SessionCtx.<init>(SessionCtx.java, Compiled Code)
    at oracle.aurora.jndi.sess_iiop.ServiceCtx.createSession(ServiceCtx.java, Compiled Code)
    at oracle.aurora.jndi.sess_iiop.ServiceCtx.login(ServiceCtx.java, Compiled Code)
    at oracle.aurora.jndi.sess_iiop.ServiceCtx.defaultSession(ServiceCtx.java, Compiled Code)
    at oracle.aurora.jndi.sess_iiop.ServiceCtx.lookup(ServiceCtx.java, Compiled Code)
    at oracle.aurora.jndi.sess_iiop.sess_iiopURLContext.lookup(sess_iiopURLContext.java, Compiled Code)
    at oracle.aurora.jndi.sess_iiop.sess_iiopURLContext.lookup(sess_iiopURLContext.java, Compiled Code)
    at javax.naming.InitialContext.lookup(InitialContext.java, Compiled Code)
    at vtsi.location.NearSelectionApplet.start(NearSelectionApplet.java, Compiled Code)
    at sun.applet.AppletPanel.run(AppletPanel.java, Compiled Code)
    at sun.plugin.navig.motif.MotifAppletViewer.maf_run(MotifAppletViewer.java, Compiled Code)
    at sun.plugin.navig.motif.MotifAppletViewer.run(MotifAppletViewer.java, Compiled Code)
    at java.lang.Thread.run(Thread.java, Compiled Code)
    The frustrating part is that the same applet works just fine when called in a Win NT broswer (IE and Netscape) or appletviewer. A java test application accessing the EJB also runs fine on Linux.
    The only obivious difference is that my Windows machine has the Java Plugin 1.3 installed and Linux only 1.2.2. But since the applet has been compiled with the 1.2.2 compiler that shouldn't really make a difference, should it?
    I'd appreciate any help on this subject.
    Thx,
    Thomas J.

    i could answer this
    but my colleagues are working on a client which uses client(applet) to access stateless session beans
    but mine's giving a little problem
    visit my problem for some of the overview which i think will be fixed or
    the same could run on your machine
    http://forum.java.sun.com/thread.jsp?forum=13&thread=538583&tstart=0&trange=15

  • EJB access from LoginModule / Realm impl.

    iH:
    I have a custom LogingModule and Realm implementation for SJSAS (J2EE SDK 1.4). My user/group information is stored in a MySQL instance. I am currently using straight JDBC to perform authentication; I would like to use EJB instead (ie: implement a Session bean with a business method 'authenticate').
    However, it would appear that I "can't get there from here". When I try to lookup objects via JNDI, I get NamingException's encapsulating InvocationExceptions. It would appear that I can't lookup "java:comp/env/" names from within LoginModule / ISARealm implementations.
    This sort of makes sense to me ... my LoginModule implementation is essentially a J2EE client, invoked by the J2EE application server itself. Normally I would have to run J2EE client code with appclient (when using SJSAS) right?
    Is there a way to use J2EE services from within services added to the App server? I could probaby expose this stuff as a web service, but that just seems like a silly work around. At the very least I would like to be able to define a JDBC connection pool so that I don't have to manage JDBC connections myself. At the moment I am creating a new connection every time I authenticate a user (wince).
    Aaron.

    Thanks; it turns out that this is a red-herring. There is no problem. Accessing a session bean from a LoginModule implementation works just fine.
    I was trying to lookup names like "java:comp/env/....". This resulted in an InvocationException, which I thought was telling me that there was something horribly wrong. It turns out that everything works as expected if I lookup names relative to "java:comp/env" -- ie: if I lookup ejb/<session bean name>.
    I think I should be getting a "name not found" NamingException rather than an InvocationException encapsulated in a NamingException. Should I submit a (minor) bug for that?
    Thanks for your help. I see your posts here frequently. Keep fighting the good fight.

  • No email access from Mail clients or iPad

    I have been using the same email account for years with no issues.
    I can access email through web browser, and can even forward e-mails to my blackberry.
    Mac Mail, Mac Outlook, IPAD thunderbird etc. Can no longer access my Verizon yahoo email account. I have tried every suggestion to date. Tried every port combination suggested with SSL on and off. Deleted all accounts and started from scratch.. Reset IPAD from scratch.  The last email I received through Mail was Feb. 3. Downloaded the automated program which didn't work, I tried online chat  with Verizon tech, but they claimed that since I could still access email through the web, its an Apple software issue. The Apple store is blaming Verizon for not providing the appropriate port info etc to access. And truthfully, with all of the information on the Verizon website to set up mail client software, there is no set of rules that seems to apply.
    On this message board it states verizon.net, or the webpage doesn't exist. On other pages it suggests yahoo.verizon.net. Fios comes up with different info from DSL, and old port info (25) is still out there
    It seems there is no solution, just hit or miss  attempts. As Apple marketshare increases, the support provided is somehow getting to be less than it already was.
    Sorry to ramble on, but this is really frustrating
    Mac 10.7.3
    Mail 5.2
    Outlook 14.1.4
    Verizon Yahoo email account
    Please help

    I was able to get email to work using the following settings:
    Incoming Mail Server:
         Name=incoming.yahoo.verizon.net
         SSL=no
         Port=110
    Outgoing Mail Server
         Name=outgoing.yahoo.verizon.net
         SSL=no
         Port=587

  • Access from wireless client

    I want to access an application built up using XSQL Pages with a wireless client (Nokia). How do I configure my server to recognize the MIME type?

    I don't know exactly why it has that delay, but I think it's because if first tries to connect on the wrong network card, then after that times out tries the other one.
    what you could try to solve this is the following:
    first create an empty unconnected Socket using Socket().
    then Socket.bind() that socket with a SocketAddress that points specifically to the correct card.
    then connect to the server using Socket.connect()
    again, I'm not sure this will work, but it might.

  • Invoke EJB methods from RMI client -- OutOfMemory error on the server

    Each time I tried to invoke a method of my session bean, on the server I have an
    error : java.lang.OutOfMemoryError
    And the client doesn't receive any answer !
    Do you have an idea ?
    (everything before seems OK - context, narrow, home.create() ...)
    Config : WL6.1 SP1 on Solaris 2.8 / client Win2000 jdk 1.3.1

    "Sabine" <[email protected]> writes:
    Each time I tried to invoke a method of my session bean, on the server I have an
    error : java.lang.OutOfMemoryError
    And the client doesn't receive any answer !
    Do you have an idea ?
    (everything before seems OK - context, narrow, home.create() ...)
    Config : WL6.1 SP1 on Solaris 2.8 / client Win2000 jdk 1.3.1Are you using RMI-IIOP? If so I suggest you try SP3.
    andy

  • Accessing the same stateful session bean from multiple clients in a clustered environment

    I am trying to access the same stateful session bean from multiple
              clients. I also want this bean to have failover support so we want to
              deploy it in a cluster. The following description is how we have tried
              to solve this problem, but it does not seem to be working. Any
              insight would be greatly appreciated!
              I have set up a cluster of three servers. I deployed a stateful
              session bean with in memory replication across the cluster. A client
              obtains a reference to an instance of one of these beans to handle a
              request. Subsequent requests will have to use the same bean and could
              come from various clients. So after using the bean the first client
              stores the handle to the bean (actually the replica aware stub) to be
              used by other clients to be able to obtain the bean. When another
              client retrieves the handle gets the replica aware stub and makes a
              call to the bean the request seems to unpredictably go to any of the
              three servers rather than the primary server hosting that bean. If the
              call goes to the primary server everything seems to work fine the
              session data is available and it gets backed up on the secondary
              server. If it happens to go to the secondary server a bean that has
              the correct session data services the request but gives the error
              <Failed to update the secondary copy of a stateful session bean from
              home:ejb20-statefulSession-TraderHome>. Then any subsequent requests
              to the primary server will not reflect changes made on the secondary
              and vice versa. If the request happens to go to the third server that
              is not hosting an instance of that bean then the client receives an
              error that the bean was not available. From my understanding I thought
              the replica aware stub would know which server is the primary host for
              that bean and send the request there.
              Thanks in advance,
              Justin
              

              If 'allow-concurrent-call' does exactly what you need, then you don't have a problem,
              do you?
              Except of course if you switch ejb containers. Oh well.
              Mike
              "FBenvadi" <[email protected]> wrote:
              >I've got the same problem.
              >I understand from you that concurrent access to a stateful session bean
              >is
              >not allowed but there is a
              >token is weblogic-ejb-jar.xml that is called 'allow-concurrent-call'
              >that
              >does exactly what I need.
              >What you mean 'you'll get a surprise when you go to production' ?
              >I need to understand becouse I can still change the design.
              >Thanks Francesco
              >[email protected]
              >
              >"Mike Reiche" <[email protected]> wrote in message
              >news:[email protected]...
              >>
              >> Get the fix immediately from BEA and test it. It would be a shame to
              >wait
              >until
              >> December only to get a fix - that doesn't work.
              >>
              >> As for stateful session bean use - just remember that concurrent access
              >to
              >a stateful
              >> session bean is not allowed. Things will work fine until you go to
              >production
              >> and encounter some real load - then you will get a surprise.
              >>
              >> Mike
              >>
              >> [email protected] (Justin Meyer) wrote:
              >> >I just heard back from WebLogic Tech Support and they have confirmed
              >> >that this is a bug. Here is their reply:
              >> >
              >> >There is some problem in failover of stateful session beans when its
              >> >run from a java client.However, it is fixed now.
              >> >
              >> >The fix will be in SP2 which will be out by december.
              >> >
              >> >
              >> >Mike,
              >> >Thanks for your reply. I do infact believe we are correctly using
              >a
              >> >stateful session bean however it may have been misleading from my
              >> >description of the problem. We are not accessing the bean
              >> >concurrently from 2 different clients. The second client will only
              >> >come into play if the first client fails. In this case we want to
              >be
              >> >able to reacquire the handle to our stateful session bean and call
              >it
              >> >from the secondary client.
              >> >
              >> >
              >> >Justin
              >> >
              >> >"Mike Reiche" <[email protected]> wrote in message
              >news:<[email protected]>...
              >> >> You should be using an entity bean, not a stateful session bean
              >for
              >> >this application.
              >> >>
              >> >> A stateful session bean is intended to be keep state (stateful)
              >for
              >> >the duration
              >> >> of a client's session (session).
              >> >>
              >> >> It is not meant to be shared by different clients - in fact, if
              >you
              >> >attempt to
              >> >> access the same stateful session bean concurrently - it will throw
              >> >an exception.
              >> >>
              >> >> We did your little trick (storing/retrieving handle) with a stateful
              >> >session bean
              >> >> on WLS 5.1 - and it did work properly - not as you describe. Our
              >sfsb's
              >> >were not
              >> >> replicated as yours are.
              >> >>
              >> >> Mike
              >> >>
              >> >> [email protected] (Justin Meyer) wrote:
              >> >> >I am trying to access the same stateful session bean from multiple
              >> >> >clients. I also want this bean to have failover support so we want
              >> >to
              >> >> >deploy it in a cluster. The following description is how we have
              >tried
              >> >> >to solve this problem, but it does not seem to be working. Any
              >> >> >insight would be greatly appreciated!
              >> >> >
              >> >> >I have set up a cluster of three servers. I deployed a stateful
              >> >> >session bean with in memory replication across the cluster. A client
              >> >> >obtains a reference to an instance of one of these beans to handle
              >> >a
              >> >> >request. Subsequent requests will have to use the same bean and
              >could
              >> >> >come from various clients. So after using the bean the first client
              >> >> >stores the handle to the bean (actually the replica aware stub)
              >to
              >> >be
              >> >> >used by other clients to be able to obtain the bean. When another
              >> >> >client retrieves the handle gets the replica aware stub and makes
              >> >a
              >> >> >call to the bean the request seems to unpredictably go to any of
              >the
              >> >> >three servers rather than the primary server hosting that bean.
              >If
              >> >the
              >> >> >call goes to the primary server everything seems to work fine the
              >> >> >session data is available and it gets backed up on the secondary
              >> >> >server. If it happens to go to the secondary server a bean that
              >has
              >> >> >the correct session data services the request but gives the error
              >> >> ><Failed to update the secondary copy of a stateful session bean
              >from
              >> >> >home:ejb20-statefulSession-TraderHome>. Then any subsequent requests
              >> >> >to the primary server will not reflect changes made on the secondary
              >> >> >and vice versa. If the request happens to go to the third server
              >that
              >> >> >is not hosting an instance of that bean then the client receives
              >an
              >> >> >error that the bean was not available. From my understanding I
              >thought
              >> >> >the replica aware stub would know which server is the primary host
              >> >for
              >> >> >that bean and send the request there.
              >> >> >
              >> >> >Thanks in advance,
              >> >> >Justin
              >>
              >
              >
              

  • Calling EJB from app client

    Hello, everybody,
    I'm very new at EJB and I'm trying to learn it.
    I have created Enterprise Application using Netbeans IDE, I have EJB and APP client. What I want is to connect to my MySql database and get some info from table.
    For e.g. Login and Password.
    How can I call EJB from my client app which connects to my database and gets information I need?

    What server you are using?
    if you use jboss AS ,here is a simple Main class how to connect EJB and access ejb methods:
    package com.david.ejb.client;
    import java.util.Properties;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import javax.rmi.PortableRemoteObject;
    import com.david.ejb.domain.Person;
    import com.david.ejb.domain.PersonRemote;
    public class Main {
         public static void main(String[] args) {
              try {
                   Context ctx = getInitialContext();
                   Object obj = ctx.lookup("PersonSessionRemote/remote");
                PersonRemote pr=(PersonRemote)PortableRemoteObject.narrow(obj, PersonRemote.class);
                Person p=new Person();
                p.setName("david");
                pr.addPerson(p);
                pr.findPerson(1);
                   // System.out.print(br.find(pk).getAuthor_name());
              } catch (Exception ex) {
                   ex.printStackTrace();
         private static Context getInitialContext() throws NamingException {
              Properties p = new Properties();
              p.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.jboss.naming.NamingContextFactory");
              p.setProperty(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
              p.setProperty(Context.PROVIDER_URL, "jnp://localhost:1099");
              return new InitialContext(p);
    }Person is ant @Entity and PersonRemote is remote interfaces, to connect database you have to make datasource file at jboss-4.2.3.GA\server\default\deploy
    simle mysql-ds.xml looks like this:
    datasources>
       <local-tx-datasource>
          <jndi-name>some name</jndi-name>
          <connection-url>jdbc:mysql://localhost:3306/dbname</connection-url>
          <driver-class>com.mysql.jdbc.Driver</driver-class>
          <user-name>root</user-name>
          <password>root password</password>
          <min-pool-size>5</min-pool-size>
          <max-pool-size>100</max-pool-size>
          <idle-timeout-minutes>15</idle-timeout-minutes>
          <exception-sorter-class-name>com.mysql.jdbc.integration.jboss.ExtendedMysqlExceptionSorter</exception-sorter-class-name>
          <valid-connection-checker-class-name>com.mysql.jdbc.integration.jboss.MysqlValidConnectionChecker</valid-connection-checker-class-name>
       </local-tx-datasource>
    </datasources>also at resources/META-INF directory you must have persistence.xml like this
    <persistence>
         <persistence-unit name="SimpleEjb">
              <jta-data-source>java:/some name</jta-data-source>
              <properties>
                   <property name="hibernate.hbm2ddl.auto" value="update" />
                   <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
                   <property name="hibernate.show_sql" value="true"/>
                   <property name="hibernate.format_sql" value="true"/>
              </properties>
         </persistence-unit>
    </persistence>

  • We have created shared folder on multiple client machine in domain environment on different 2 OS like-XP,Vista, etc. from some day's When we facing problem when we are access from host name that shared folder is accessible but same time same computer when

    Hello All,
    we have created shared folder on multiple client machine in domain environment on different 2 OS like-XP,Vista, etc.
    from some day's When we facing problem when we are access from host name that shared folder is accessible but same time same computer when we are trying to access the share folder with IP it asking for credentials i have type again and again
    correct credential but unable to access that. If i re-share the folder then we are access it but when we are restarted the system then same problem is occurring.
    I have checked IP,DNS,Gateway and more each & everything is well.
    Pls suggest us.
    Pankaj Kumar

    Hi,
    According to your description, my understanding is that the same shared folder can be accessed by name, but can’t be accessed be IP address and asks for credentials.
    Please try to enable the option below on the device which has shared folder:
    Besides, check the Advanced Shring settings of shared folder and confrim that if there is any limitation settings.
    Best Regards,
    Eve Wang
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Support, contact [email protected]

  • I want to access JMS Queue in websphere from a client application

    Hello all
    I tried to access a jms queue in the websphere from a client application
    my connection factory jndi name is : MyConn
    my queue name jndi name is : MyQueue
    and here is my code :
    Hashtable environment = new Hashtable();
    environment.put(Context.INITIAL_CONTEXT_FACTORY,
    "com.ibm.websphere.naming.WsnInitialContextFactory");
    environment.put(Context.URL_PKG_PREFIXES, "com.ibm.ws.naming");
    environment.put(Context.PROVIDER_URL, "corbaloc:iiop:localhost:2809");
    return new InitialContext(environment);
    then:
    q = (Queue) ctx.lookup(QJNDIName);
    QueueConnectionFactory connFactory = (QueueConnectionFactory)
    ctx.lookup(ConnFactName);
    I had the following exception :
    javax.naming.NameNotFoundException: Context: networking/nodes/networking/servers/server1, name: MyQueue: First component in name MyQueue not found. Root exception is org.omg.CosNaming.NamingContextPackage.NotFound: IDL:omg.org/CosNaming/NamingContext/NotFound:1.0
    Can i have any help please ....

    Hi
    You are missing some critical jar files in your class path. It should be namingclient.jar, also please or something similar that is missing in classpath.
    HTH
    VJ

  • Error while running EJB from java client on JBOSS

    Hi
    As i am new to EJB i have created a helloworld application in ejb which is working fine when i try to call it from servlet but when i try to invoke the same ejb from java client (i.e from diff jvm) on jboss i got the following error:
    javax.naming.CommunicationException: Could not obtain connection to any of these urls: localhost:1099 and discovery failed with error: javax.naming.CommunicationException: Receive timed out [Root exception is java.net.SocketTimeoutException: Receive timed out] [Root exception is javax.naming.CommunicationException: Failed to connect to server localhost:1099 [Root exception is javax.naming.ServiceUnavailableException: Failed to connect to server localhost:1099 [Root exception is java.net.ConnectException: Connection refused]]]
         at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1399)
         at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:579)
         at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:572)
         at javax.naming.InitialContext.lookup(InitialContext.java:351)
         at com.gl.TestClient.main(TestClient.java:39)
    Caused by: javax.naming.CommunicationException: Failed to connect to server localhost:1099 [Root exception is javax.naming.ServiceUnavailableException: Failed to connect to server localhost:1099 [Root exception is java.net.ConnectException: Connection refused]]
         at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:254)
         at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1370)
         ... 4 more
    Caused by: javax.naming.ServiceUnavailableException: Failed to connect to server localhost:1099 [Root exception is java.net.ConnectException: Connection refused]
         at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:228)
         ... 5 more
    Caused by: java.net.ConnectException: Connection refused
         at java.net.PlainSocketImpl.socketConnect(Native Method)
         at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
         at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
         at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
         at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
         at java.net.Socket.connect(Socket.java:519)
         at java.net.Socket.connect(Socket.java:469)
         at java.net.Socket.<init>(Socket.java:366)
         at java.net.Socket.<init>(Socket.java:266)
         at org.jnp.interfaces.TimedSocketFactory.createSocket(TimedSocketFactory.java:69)
         at org.jnp.interfaces.TimedSocketFactory.createSocket(TimedSocketFactory.java:62)
         at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:224)
         ... 5 more
    Following is my code:
    Home Interface:
    package com.gl;
    import javax.ejb.CreateException;
    public interface testHome extends EJBHome {
         String JNDI_NAME = "testBean";
         public     test create()
         throws java.rmi.RemoteException,CreateException;
    Remote Interface:
    package com.gl;
    import java.rmi.RemoteException;
    import javax.ejb.EJBObject;
    public interface test extends EJBObject {
         public String welcomeMessage() throws RemoteException;
    Bean:
    package com.gl;
    import java.rmi.RemoteException;
    import javax.ejb.EJBException;
    import javax.ejb.SessionBean;
    import javax.ejb.SessionContext;
    public class testbean implements SessionBean {
         public void ejbActivate() throws EJBException, RemoteException {
              // TODO Auto-generated method stub
         public void ejbPassivate() throws EJBException, RemoteException {
              // TODO Auto-generated method stub
         public void ejbRemove() throws EJBException, RemoteException {
              // TODO Auto-generated method stub
         public void setSessionContext(SessionContext arg0) throws EJBException,
                   RemoteException {
              // TODO Auto-generated method stub
         public void ejbCreate(){}
         public String welcomeMessage(){
              return "Welcome to the World of EJB";
    ejb-jar.xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
    <ejb-jar>
    <enterprise-beans>
    <session>
    <ejb-name>testBean</ejb-name>
    <home>com.gl.testHome</home>
    <remote>com.gl.test</remote>
    <ejb-class>com.gl.testbean</ejb-class>
    <session-type>Stateless</session-type>
    <transaction-type>Container</transaction-type>
    </session>
    </enterprise-beans>
    </ejb-jar>
    jboss.xml:
    <?xml version='1.0' ?>
    <!DOCTYPE jboss PUBLIC "-//JBoss//DTD JBOSS 3.2//EN" "http://www.jboss.org/j2ee/dtd/jboss_3_2.dtd">
    <jboss>
    <enterprise-beans>
    <entity>
    <ejb-name>testBean</ejb-name>
    <jndi-name>testBean</jndi-name>
    </entity>
    </enterprise-beans>
    </jboss>
    Client code:
    package com.gl;
    import java.util.Properties;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.rmi.PortableRemoteObject;
    public class TestClient {
         public static void main(String[] args) throws Exception{
                   try{
                   /*     Properties props=new Properties();
                        props.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
                        props.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
                        props.put(Context.PROVIDER_URL, "jnp://localhost:1099");
                   Properties props = new Properties();
    props.put(Context.INITIAL_CONTEXT_FACTORY,
    "org.jnp.interfaces.NamingContextFactory");
    props.put(Context.PROVIDER_URL, "localhost:1099");
                        System.out.println("Properties ok");
                        //env.setProperty(Context.INITIAL_CONTEXT_FACTORY,"org.jboss.naming.HttpNamingContextFactory");
                        //env.put(Context.PROVIDER_URL,"http://localhost:8080");
                        //env.put(Context.SECURITY_PRINCIPAL, "");
                        //env.put(Context.SECURITY_CREDENTIALS, "");
                        Context ctx=new InitialContext(props);
                        System.out.println("context ok");
                        //testHome home = (testHome)ctx.lookup("testBean");
                        Object obj = ctx.lookup ("testBean");
                        System.out.println("ojb = " + obj);
                        testHome ejbHome = (testHome)PortableRemoteObject.narrow(obj,testHome.class);
                   test ejbObject = ejbHome.create();
                   String message = ejbObject.welcomeMessage();
                        System.out.println("home ok");
                        System.out.println("remote ok");
                        System.out.println(message);
                        catch(Exception e){e.printStackTrace();}
    I am able to successfully deployed my ejb on JBOSS but i m getting above error when i am trying to invoke ejb from java client.
    kindly suggest me something to solve this issue.
    Regards
    Gagan
    Edited by: Gagan2914 on Aug 26, 2008 3:28 AM

    Is it a remote lookup? Then maybe this will help:
    [http://wiki.jboss.org/wiki/JBoss42FAQ]
    - Roy

  • RE: Accessing multiple Env from single Client-PC

    Look in the "System Management Guide" under connected environments page
    72. This will allow services in your primary environment to find
    services in your connected environment. However, there is a bug
    reported on this feature which is fixed in 2F4 for the HP and H1 for all
    other servers. The following is from Forte:
    The connected environments bug that was fixed in 2F4 is #24282. The
    problem
    was in the nodemgr/name server source code and caused the following to
    occur:
    Service1 is in connected envs A and B.
    Client has env A as primary, B as secondary.
    Envmgr A dies before the client has ever made a call to Service1.
    Afer env A is gone, client makes a call to Service1 which causes Envmgr
    B to
    seg fault.
    You should upgrade your node manager/env manager nodes to 2F4. The 2F2
    development and runtime clients are fully compatible with 2F4 servers.
    Kal Inman
    Andersen Windows
    From: Inho Choi[SMTP:[email protected]]
    Sent: Monday, April 21, 1997 2:04 AM
    To: [email protected]
    Subject: Accessing multiple Env from single Client-PC
    Hi, All!
    Is there anybody has any idea to access multiple environments from
    single client-PC? I have to have multiple environments because each
    environment resides geographically remote node and network bandwidth,
    reliability are not good enough to include all the systems into single
    environment.
    Using Control Panel for doing this is not easy for those who are not
    familiar with Windows. The end-user tend to use just single application
    to access all necessary services.
    I could consider two option to doing this:
    1. Make some DOS batch command file to switch different environment
    like, copying back/forward between environment repositories and
    set up forte.ini for changing FORTE_NS_ADDRESS. After then, invoke
    proper client partition(ftexec).
    2. Duplicate necessary services among each environment.
    But, these two options have many drawbacks in terms of system
    management(option 1), performance(option 2) and others.
    Has anybody good idea to implement this? Any suggestion would be
    appreciated.
    Inho Choi, Daou Tech., Inc.
    email: [email protected]
    phone: +82-2-3450-4696

    Look in the "System Management Guide" under connected environments page
    72. This will allow services in your primary environment to find
    services in your connected environment. However, there is a bug
    reported on this feature which is fixed in 2F4 for the HP and H1 for all
    other servers. The following is from Forte:
    The connected environments bug that was fixed in 2F4 is #24282. The
    problem
    was in the nodemgr/name server source code and caused the following to
    occur:
    Service1 is in connected envs A and B.
    Client has env A as primary, B as secondary.
    Envmgr A dies before the client has ever made a call to Service1.
    Afer env A is gone, client makes a call to Service1 which causes Envmgr
    B to
    seg fault.
    You should upgrade your node manager/env manager nodes to 2F4. The 2F2
    development and runtime clients are fully compatible with 2F4 servers.
    Kal Inman
    Andersen Windows
    From: Inho Choi[SMTP:[email protected]]
    Sent: Monday, April 21, 1997 2:04 AM
    To: [email protected]
    Subject: Accessing multiple Env from single Client-PC
    Hi, All!
    Is there anybody has any idea to access multiple environments from
    single client-PC? I have to have multiple environments because each
    environment resides geographically remote node and network bandwidth,
    reliability are not good enough to include all the systems into single
    environment.
    Using Control Panel for doing this is not easy for those who are not
    familiar with Windows. The end-user tend to use just single application
    to access all necessary services.
    I could consider two option to doing this:
    1. Make some DOS batch command file to switch different environment
    like, copying back/forward between environment repositories and
    set up forte.ini for changing FORTE_NS_ADDRESS. After then, invoke
    proper client partition(ftexec).
    2. Duplicate necessary services among each environment.
    But, these two options have many drawbacks in terms of system
    management(option 1), performance(option 2) and others.
    Has anybody good idea to implement this? Any suggestion would be
    appreciated.
    Inho Choi, Daou Tech., Inc.
    email: [email protected]
    phone: +82-2-3450-4696

  • Accessing multiple Env from single Client-PC

    Hi, All!
    Is there anybody has any idea to access multiple environments from
    single client-PC? I have to have multiple environments because each
    environment resides geographically remote node and network bandwidth,
    reliability are not good enough to include all the systems into single
    environment.
    Using Control Panel for doing this is not easy for those who are not
    familiar with Windows. The end-user tend to use just single application
    to access all necessary services.
    I could consider two option to doing this:
    1. Make some DOS batch command file to switch different environment
    like, copying back/forward between environment repositories and
    set up forte.ini for changing FORTE_NS_ADDRESS. After then, invoke
    proper client partition(ftexec).
    2. Duplicate necessary services among each environment.
    But, these two options have many drawbacks in terms of system
    management(option 1), performance(option 2) and others.
    Has anybody good idea to implement this? Any suggestion would be
    appreciated.
    Inho Choi, Daou Tech., Inc.
    email: [email protected]
    phone: +82-2-3450-4696

    Hi, All!
    Is there anybody has any idea to access multiple environments from
    single client-PC? I have to have multiple environments because each
    environment resides geographically remote node and network bandwidth,
    reliability are not good enough to include all the systems into single
    environment.
    Using Control Panel for doing this is not easy for those who are not
    familiar with Windows. The end-user tend to use just single application
    to access all necessary services.
    I could consider two option to doing this:
    1. Make some DOS batch command file to switch different environment
    like, copying back/forward between environment repositories and
    set up forte.ini for changing FORTE_NS_ADDRESS. After then, invoke
    proper client partition(ftexec).
    2. Duplicate necessary services among each environment.
    But, these two options have many drawbacks in terms of system
    management(option 1), performance(option 2) and others.
    Has anybody good idea to implement this? Any suggestion would be
    appreciated.
    Inho Choi, Daou Tech., Inc.
    email: [email protected]
    phone: +82-2-3450-4696

Maybe you are looking for

  • Why won't my Itunes store display on screen?

    I have an old Mac OS X Version 10.6.8 I have been having a few issues recently, one of which is that when I try to open my Itunes store, this happens. Another is that my safari is old, and when I haven't been able to update as my version is too old t

  • Setting up Hunt Group using an extension number instead of a pilot number

    Hi Guys, I would like to set up a hunt group. My question is can I use a real extension number assigned to a phone to be a pilot number instead of creating a new pilot number. The requirements  are if no one is answering a call to an extension 1000 (

  • RandomAccessFile

    This class does not have a writeObject or readObject method like the ObjectOutputStream and the ObjectInputStream How am I supposed to write and read objects using random access files? Is there anyway besides just manually writing every primitive dat

  • SAP Best Practises - Installation

    Hello All, I had installed SAP best Practises base line package SAP BP-ERP 617V6 in my system a couple of weeks back. But now when I am trying to activate the Best practises it is asking for the solution scope files and the installation text files. B

  • ISCSI boot with Intel NICs added to windows 2008 r2 routing table causes non iscsi traffic to attempt default routes on iscsi networks

    I have a server with Intel 82576 Gigabit Dual Port Nics.  I have configured them to use iSCSI boot the primary looks to 10.0.0.1/24 and the secondary looks to 10.0.1.1/24.  The target is configured correctly.  Everything boots as expected.  I have ad