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
nullAre 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 helpI 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 -
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
>>
>
>
-
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> -
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 KumarHi,
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 AMIs 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-4696Look 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-4696Hi, 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 (
-
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
-
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