Dynamic EJB Client
Hi there,
I've a runtime problem. I don't know until runtime which ejb my client program wishes to lookup. Is there anyway of creating/retrieving the instance of a bean at runtime and ivoking business methods on the remote interface dynamically.
All information I have got is this.
String MyEjbBindName = args[0];
String MyEjbHomeName = args[1];
String MyEjbRemoteName = args[2];
String MyEJbMethodName = args[3];
Any ideas would be greatly appreciated. Thanks,
Raj.
Hy,
It is posible
This is the code:
========================
package com.somepackage;
import java.util.Properties;
import java.lang.reflect.Method;
import java.lang.reflect.InvocationTargetException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.ejb.EJBHome;
import javax.ejb.EJBException;
import javax.rmi.PortableRemoteObject;
public class EjbProxy
private Properties _prop = null;
public EjbProxy()
public EjbProxy (String initContextFactory, String providerUrl)
setContextProperties (initContextFactory, providerUrl, null, null);
public EjbProxy (Properties prop)
setContextProperties (prop);
public void setContextProperties (Properties prop)
_prop = prop;
public void setContextProperties (String initContextFactory, String providerUrl,
String user, String password)
_prop = new Properties ();
prop.put (Context.INITIALCONTEXT_FACTORY, initContextFactory);
prop.put (Context.PROVIDERURL, providerUrl);
if (user != null)
prop.put(Context.SECURITYPRINCIPAL, user);
if (password == null)
password = "";
prop.put(Context.SECURITYCREDENTIALS, password);
public void setContextUserParam (String user, String password)
if (_prop == null)
_prop = new Properties ();
prop.put(Context.SECURITYPRINCIPAL, user);
prop.put(Context.SECURITYCREDENTIALS, password);
public EJBHome getHome (String beanJndiLookupName) throws EJBException
try
InitialContext ctx = null;
if (_prop != null)
ctx = new InitialContext (_prop);
else
ctx = new InitialContext ();
Object home = ctx.lookup(beanJndiLookupName);
EJBHome obHome = (EJBHome)PortableRemoteObject.narrow (home, EJBHome.class);
return obHome;
catch (NamingException ne)
throw new EJBException (ne);
catch (Exception e)
e.printStackTrace();
throw new EJBException (e);
public Object getObj (String beanJndiLookupName) throws EJBException
try
EJBHome obHome = getHome (beanJndiLookupName);
//get the method of create
Method m = obHome.getClass().getDeclaredMethod("create", new Class[0]);
//invoke the create method
Object obj = m.invoke (obHome, new Object[0]);
return obj;
catch (NoSuchMethodException ne)
throw new EJBException (ne);
catch (InvocationTargetException ie)
throw new EJBException (ie);
catch (IllegalAccessException iae)
throw new EJBException (iae);
=====================================
You can also get the code an further explanations from
http://www.javaworld.com/javaworld/javatips/jw-javatip118.html
Here you have something similar, but not that good:
http://www.devx.com/premier/mgznarch/javapro/2001/02feb01/ru0102/ru0102.asp
Now, the idea is that you can lookup a bean by only using it's jndi lookup name!
This works fine..
But, you must have your home and remote interface in your application classpath,
otherwise you'll be unable to compile your code!
And even if you would compile it, javax.InitialContext.lookup wouldn't create your
object(it also checks in your classpath).
You don't need this, do you?
have a nice day,
rudi vaum
[email protected]
Similar Messages
-
Is there a way to do that? To use dynamic EJB connections?
Hello Developers,
I have developed a security web application using EJB,
Jaas with customer provider
I used DBSystemLogin module
I want to fined a way that the EJB connection change each time when the user login.
I used the HR as the main schema.
I created three schemas that I want to use them as users:
-Lina
-Salem
-Ahmad
I granted Roles to users on hr tables.
additional, created my own roles in data base and granted to my users:
ADMINISTRATOR Lina - can see all records
EMPLOYEE Ahmad -can see the records added by this employee
CUSTOMER Salem - can see the records belongs to this customer
In developer 10.1.3.3
I created Order Entity been using HR database connection, created session been,
Modified web.xml:
-security roles["ADMINISTRATOR","EMPLOYEE","CUSTOMER"])
-Loginconfig (Form-based authentication: login page, error page)
-Security constraints: ord on /faces/Orders.jsp to ADMINISTRATOR,EMPLOYEE,CUSTOMER.
I created Orders.jsp page contains order table.
Now, I want that when the user login as Lina to switch the EJB database connection to Lina, so the displayed order table achieves ADMINISTRATOR roles that created in database,means opening database session for user Lina and use it.
and so on for user salem and ahmad.
Is there a way to do that? To use dynamic EJB connections? To achieve authentication based connection? to implement the user database roles on the client side? To specify the database connection at run time?
That is possible using forms but I don’t want to use forms.
I want to reed the roles from database according to the user.
I hope to get answers soon,
thanks.Does JNDI do this job?
-
Hey ,
I have an application which requires to talk to 2 different published webservices
from 2 different systems. Now instead od designing static webservice clients for
each of these systems(which would involve having separate proxy jars etc),
I am planning to design a dynamic webservice locator and invoker....
I know that we can have webservice clients which are dynamic to the extent that
we can create proxy objects at runtime once we know the endpoint WSDL..
eg:
ServiceFactory factory = ServiceFactory.newInstance();
QName serviceName =new QName targetNamespace,"net.xmethods.services.stockquote.StockQuoteService");
QName portName = new QName(targetNamespace,"net.xmethods.services.stockquote.StockQuotePort");
QName operationName = new QName("urn:xmethods-delayed-quotes","getQuote");
URL wsdlLocation = new URL("http://services.xmethods.net/soap/urn:xmethods-delayed-quotes.wsdl");
// create service
Service service = factory.createService(wsdlLocation, serviceName);
// create call Call call = service.createCall(portName, operationName);
My question on this...if I have a dynamic approach like the above what are the
pros and cons..I guess it would surely have more overhead compared to a static
client...?
Secondly ,is it even feasible to design a dynamic client in such a way that the
endpoint WSDL could also be an unknown and my generic client would also locate
the end-point dynamically and then invoke dynamic calls as above...
If anybody can share their insights on a dynamic webservice client , I would really
appreciate it...
Thanx,
Krish
KRISH.VENKATARAMAN
Senior Technology Analyst
Bank of America Corp.
Email:[email protected]Hi Krish,
In WSDL, the data types passed between applications are described in schema
and
this is key for interop. I dont know of any standard/natural mapping for
values types,
object reference, etc in a binary protocol (like JRMP, IIOP) to schema. For
eg:
say there is serializable object Foo, which is the argument to a remote
method in RMI.
Object Foo can have data + behavior. It may be possible (not always, i
think) to
describe the data in Foo as schema, but how can one describe the behavior?
So, if WSDL is the only contract between the server and client (key
requirement
for interop), then IMHO RMI can not be described by WSDL.
Also, WSDL was designed for future extensions and does not map well to a
programming API. WSIF trys to expose all the gory WSDL details and its apis
are very clumsy.
These were the two main reason to vote it down at JAX-RPC EC.
I am attaching an example that shows, how to introspect WSDL and invoke
a method using JAX-RPC (with little extension to the std api). Also, it
shows
how to handle complex type without data binding. Will this solve your
problem?
I am very interested to get your feedback on this.
BTW, This example will only work with WLS 8.1.
regards,
-manoj
"Krish Venkataraman" <[email protected]> wrote in message
news:[email protected]...
>
>
Mike...thanx for the inputs...
As per ur suggestion...I have taken this offline and mailed u [email protected]
also....lemme know if thatz cool...
there are my observations..lemme know what am i missing..
1) The main difference I see between JAX-RPC and WSIF, is that with WSIFclient
it is easier to port to services talking
via other ports like RMI,IIOP etc...where as JAX-RPC is understandsonly SOAP(atleast
for now).
2) Lets assume for the time-being that I would be interested only to talkto services
talking SOAP.
Then why do I need WSIF ?
3) I can have a JX-RPC client , I can have a similar generic(reflection)code
for built-in/primitive datatypes and for
complex datatypes I anywayz would be doing the same thing(requiringthe java
representation of the datatype unless I use
something like JROM or something which I do not want to) in JAX-RPC orWSIF.
>
4) As far as syncronous or asyncronous invocation is concerned , myunderstanding
is that my client call is going to remain the
same ..the service provider is going to either use message-oriented orRPC
on his side...
Again assuming that I am interested only with services talking SOAP, thiscould
be my generic client invocation design
Background is that my client is going to run from within a WLS70sp1
Actors:
a) webSevice1ClientSessionBean : This will be a stateless session beanwhich might
have knowledge about webSevice1's end-point ,
complex dataTypes if any.
(There would be other session beans like this which would haveknowledge about
other specific webservice)
b) GenericWebServiceInvoker : This will have knowledge about everythingwithin
the webservice-standards/protocols.
eg:
//set weblogic ServiceFactory
System.setProperty( "javax.xml.rpc.ServiceFactory",
"weblogic.webservice.core.rpc.ServiceFactoryImpl" );
//create service factory
ServiceFactory factory = ServiceFactory.newInstance();
//define qnames
String targetNamespace = "http://soapinterop.org/";
QName serviceName = new QName( targetNamespace, "SimpleTest" );
QName portName = new QName( targetNamespace, "SimpleTestSoap" );
QName operationName = new QName( "http://soapinterop.org/",
"echoStruct" );
//create service
Service service = factory.createService( serviceName );
TypeMappingRegistry registry = service.getTypeMappingRegistry();
TypeMapping mapping = registry.getTypeMapping(
SOAPConstants.URI_NS_SOAP_ENCODING );
mapping.register( SOAPElement.class,
new QName( "http://soapinterop.org/xsd", "SOAPStruct" ),
new SOAPElementCodec(),
new SOAPElementCodec() );
//create call
Call call = service.createCall();
//set port and operation name
call.setPortTypeName( portName );
call.setOperationName( operationName );
call.addParameter( "inputStruct",
new QName( "http://soapinterop.org/xsd", "SOAPStruct" ),
ParameterMode.IN);
All parameter values specific to a particular webservice likeQName,targetNameSpace
etc will be sent to this invoker by
webSevice1ClientSessionBean. The GenericWebServiceInvoker will invokethe
service
(using reflection for primitive/builtin types) and alwayz accept anobject
from the service operation and just return
that "object" back the webSevice1ClientSessionBean.ThewebSevice1ClientSessionBean
will know how to interpret the
complexdataType or builtInDatatype whichever is returned.TheGenericWebServiceInvoker
will not have any application
specific knowledge...it will just have knowledge about how todiscover, invoke
any SOAP webservice...
Somewhere in the beginning of GenericWebServiceInvoker I will use JAXRto
discover services from UDDI if needed.
This way I will have a generic webservice client invocation frameworkwhich
can invoke any service which talks SOAP.
Now lemme know how the above picture looks and what is missing...
I have some questions :
1) Incase of complex dataTypes, I will have itz XML representation inthe
publisher's WSDL and the publisher will give
me the java representation of the complex dataType.But how does myclient
JAX-RPC know how to map the XML
to the java representation unless I specify the mapping somewhere?Does
the TypeMapping/TypeMappingRegistry do this ?
Thanx,
Krish
"Michael Wooten" <[email protected]> wrote:
You know, it's really cool to hear guys thinking things through, before
they "jump
on a bandwagon" :-)
Anyway, I suspect that the performance overhead of doing reflection,
and heavy
server-side code intrusion, is what has made a lot of developers balk
at using
WSIF. I would check out the IBM newsgroups, to see what the general
developer
sentiment is on WSIF.
To achieve any sort of decent performance with JAX-RPC based webservices,
you
need to do a fair amount of optimization/tuning on both the client and
server
side. I recommend setting up your own "lab environment" for doing these,
so you
can see exactly what's making things improve/degrade. If you are really
interested
in this topic, we should talk about it "off-line".
In general, the more "dynamic" things are on the client side, the slower
things
will be, the more you really need to question if you really need them
to be dynamic
:-) Does making it "dynamic" really offer something that you can't get
from a
"static" version? If not, who's really benefiting here. I mean, com'n.
All you
really want to do is invoke an operation, right? By the time you get
all the information
it takes to do a dynamic invocation (i.e. port, target namespace, data
type for
input argument, serializer/deserializer for each non-built-in data type,
etc.),
your client looks like you are trying to boot a PDP-11! LOL! For those
of you
who don't know what a PDP-11 is, it's an early computer (from the'60-'70),
that
you actually had to use switches to create the "binary instructions"
to boot it
up!
From a PM's (product manager's) perpective, I wouldn't even let thedevelopers
modify "working" EJBs to expose them as a web service. Alarm bells should
go off
in your head, if you have to modify existing server-side code to expose
a company
asset as a web service.
Response to OT comment: WebLogic Server 7.0 uses its own implementation
of JAX-RPC
1.0. This implementation, I've been told by one of the BEA engineering
that worked
on it, has been certified to be JAX-RPC compliant by Sun. Don't know
about Apache
Axis, in this regard. I use both Apache Axis and the JWSDP with WLS 6.1,
but I
haven't really spent a lot of time looking for differences between our
(BEA's)
implementation, and theirs.
Regards,
Mike Wooten
"Krish Venkataraman" <[email protected]> wrote:
Hey Mike ...
I hear ya..and I see the significance of WSIF...but that IBM started
it a year
back and itz not yet stabilized is what is holding me back...
U mite have a better hold of what WSIF can do...whatever I could grasp
from yesterday
is this...
a)It reads meta data from the wsdl and using a reflection mechanismcalls
the
service operations...
I see examples with primitive datatypes..but what happens when
complex/custom
datatypes come into play...
Would the client code differ between synchronous invocation toasynchronous
invocation...
And aleast in the samples for the WSIF distribution for connectors like
EJB/JMS
etc, the code does not look generic anymore..there are specific calls
to operations
and parameters...
Also Mike , what is the trade-off on performance between having adynamic
client(lets
say based on WSIF)or having a static client...the extent of reflection
a dynamic
client will have to do and create SAAJ objects at runtime will beenormous..
Also I know that there is a relevant API...but can u give an examleshowing
me
how I could discover services from UDDI ..?
Out of this current topic...does BEA use itz own implementation of SOAP
in itz
webservice implementation...and how does it compare with AXIS ?
Thanx,
Krish
"Michael Wooten" <[email protected]> wrote:
Hi Krish,
Well, I guess that's how things are when "needed functionality exceeds
the current
state of a technology" :-)
I (not necessarily BEA) look at it like way:
1. IBM co-authored the "Big 3" XML grammars for the current web
services
stack.
2. IBM always appears to be "there, somewhere" in the new crop ofproposed
additional
XML grammars for "partially agreed upon extension layers", for theweb
services
stack.
3. IBM donated it's original SOAP implementation to the open-sourcecommunity.
4. IBM came up with WSIF over a year ago.
5. IBM's WSTK uses the Apache Axis stuff.
6. A lot of the JAX-RPC/JAXM API is based on the Apache SOAP and Apache
Axis implementations.
7. It looks like IBM may have donated WSIF to Axis.
8. You appear to need something like WSIF :-)
So, there's probably at least a 60/40 chance that some WSIF-like thing
will make
it into the JWSDP, right? If you want "higher odds", you should talk
to the folks
working on the JWSDP, as they are somewhat "in charge" here :-)
Regards,
Mike Wooten
"Krish Venkataraman" <[email protected]> wrote:
Yes...I am surely lookin at something similar...but that framework
not
being standardized
scares me as I have seen many good ideas not seeing the light of the
day...and
I do not want to design something using a framework which might remain
un-standardized..
what are ur thots..
Thanx,
Krish
"Michael Wooten" <[email protected]> wrote:
Hi Krish,
It sounds like you want WSIF :-)
"WSIF allows stubless or completely dynamic invocation of a Web
service,
>>>>>>
based upon examination of the meta-data about the service at runtime.
It
also allows updated implementations of a binding to be plugged intoWSIF
at
runtime, and it allows the calling service to defer choosing a
binding
until
runtime."
Correct?
This is a relatively new "unofficial" addition to the Web ServicesStack,
so it
is not in WLS 7.0 (or Sun's JWSDP) yet. See the following link formore
details:
http://xml.apache.org/axis/wsif
Regards,
Mike Wooten
"Krish Venkataraman" <[email protected]> wrote:
Hey ,
I have an application which requires to talk to 2 different
published
webservices
from 2 different systems. Now instead od designing static webservice
clients for
each of these systems(which would involve having separate proxyjars
etc),
I am planning to design a dynamic webservice locator and invoker....
I know that we can have webservice clients which are dynamic tothe
extent
that
we can create proxy objects at runtime once we know the endpoint
WSDL..
eg:
ServiceFactory factory = ServiceFactory.newInstance();
QName serviceName =new QName
targetNamespace,"net.xmethods.services.stockquote.StockQuoteService");
>>>>>>>
QName portName = newQName(targetNamespace,"net.xmethods.services.stockquote.StockQuotePort");
>>>>>>>
QName operationName = newQName("urn:xmethods-delayed-quotes","getQuote");
>>>>>>>
URL wsdlLocation = newURL("http://services.xmethods.net/soap/urn:xmethods-delayed-quotes.wsdl");
>>>>>>>
// create service
Service service = factory.createService(wsdlLocation, serviceName);
// create call Call call = service.createCall(portName,
operationName);
>>>>>>>
>>>>>>>
My question on this...if I have a dynamic approach like the abovewhat
are the
pros and cons..I guess it would surely have more overhead comparedto
a static
client...?
Secondly ,is it even feasible to design a dynamic client in such
a
way
that the
endpoint WSDL could also be an unknown and my generic client wouldalso
locate
the end-point dynamically and then invoke dynamic calls as above...
If anybody can share their insights on a dynamic webservice client
I would really
appreciate it...
Thanx,
Krish
KRISH.VENKATARAMAN
Senior Technology Analyst
Bank of America Corp.
Email:[email protected]
[BrowserClient.java]
[DynamicClient.java] -
Using JarSettings to generate EJB client jar, but supported classes missed
Appreciated for any comments in advance.
I am using @jarSetting to generate EJB client jar file from workshop 9.2. The remote method of EJB has one input parameter that is defined as an interface. The interface is included in client jar, but the implementation of this interface is not.
Please advise how I can add the implementation of this interface to client jar?
Best Regards,
JamesHi James,
I believe the algorithm for creating the client jar is to simply inspect the EJB interfaces using reflection and to include all user defined classes and exceptions that are referenced by the interfaces. In your case, it sounds like a class is not being included because it is not directly referenced by one of the EJB interfaces.
I think the client jar creation algorithm can be described as "best effort" and unfortunately, it does not always end up including all classes needed by the client. I would recommend you add the additional classes manually using the jar tool.
- Matt -
How can I run EJB Client in other computer ?
Hello,
I'm trying to run converter examples.
if ejb client pgm resides on a same machine with j2ee server , it works fine.
But when I put client pgm on a different maching
below message show.
No application client descriptors defined for: ConverterClinet
I put ConverterApp.ear, ConverterAppClient.jar and ConverterClient.class on the machine and
set APPCPATH=ConverterAppClient.jar
set VMARGS=-Dorg.omg.CORBA.ORBInitialHost=xxx.xxx.xx.xx
What should I do to run ejb client on different machine?Hi SangHPark,
I had the same problem but have solved it and it works.
I ran the client remotely from a win98 box.
Keep two things in mind
1> Deploy the applications to an ip address and not to the local host using the deploy too. Use the deploy tool Gui to add a new server and then deploy the application to this ip address.
2> I am running j2ee version 1.3 and jsdk 1.3
Use the following code but instead of using "java:comp/env/ejb/SimpleConverter" use the jndi name of the object: "MyConverter" as specified in the tutorial.
Properties prop = new Properties();
prop.setProperty(Context.INITIAL_CONTEXT_FACTORY,"com.sun.enterprise.naming.SerialInitContextFactory");
prop.setProperty(Context.PROVIDER_URL,"IIOP://xxx.xx.x.xxx:1050");
System.out.println("Attempting to create context...");
Context initial = new InitialContext(prop);
// Instead of this use the below line of code
//Object objref = initial.lookup("java:comp/env/ejb/SimpleConverter");
Object objref = initial.lookup("MyConverter");
// MyConverter is the Jndi name of the ConverterBean as per the tutorial
You need to do the following things.
1> After making changes to the code recompile using Ant and redeploy it.
2> Copy the j2ee.jar, ConverterAppClient.jar and ConverterClient.class file to the machine that u want to run the client from.
3> create a directory called "config" on the remote machine where you copied the files in step two.
4> Copy to this directory the files ejb.properties and security.properties from your j2ee_home\config\ directory.
For example you copied the files in step 2 on the remote machine in the c:\test directory. Create c:\test\config directory and copy the files from step 4 into this directory.
5> Run the following command from the directory where u copied the client files
java -Dorg.omg.CORBA.ORBInitialHost="host name" -classpath .\j2ee.jar;.;.\ConverterAppClient.jar ConverterClient
Monal -
Error in running EJB Client on a remote machine
I delploy my beans and can run the EJB Client locally. However when I try to run the Client on another machine, there are errors.
Here is the errors
Syntax error
Out of environment space
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/enterprise/appclient/Main
I have follow the step in the j2ee tutorial and set the env variables according. Here is the bat file I write
set APPCPATH=CBSAppClient.jar
set VMARGS=-Dj2eelogin.name=guest -Dj2eelogin.password=guest123 -Dorg.omg.CORBA.ORBInitialHost=192.168.0.2
runclient -client CBSApp.ear -name CBSClient -textauth
Do anyone facing the same problem with me?
And how can I solve the problems?
This is really URGENT, please helpYou are running on Windows 9x or Me, right? The darn OS has 300 or so bytes allocated for environment by default.
Try setting the Initial environment to 4096 in the Properties|Memory tab for the batch file. That will get rid of "Out of environment space". The syntax error is another matter; Windows (except NT and derivatives) shells do not allow '=' in an environment variables value. You cannot overcome that. Some software (Sybase for instance) interprets # as = just because of that. Unfortunately, the JVM doesn't take such an approach.
Better, grab copies of Unix utilities for Windows (www.gnu.org) including the wonderful shell 'bash' and write .sh scripts, which are inherently more powerful. -
Steps to deploy an ejb application and running an ejb client in weblogic server6.1
steps to deploy an ejb application and steps to run an ejb client in weblogic server6.1
if the client is an simple java application and if the client is a servletHi.
Check out the beanManaged example that ships with WLS and read the accompanying docs. This
is a simple EJB with a servlet that invokes it.
Michael
shekhar sachdev wrote:
steps to deploy an ejb application and steps to run an ejb client in weblogic server6.1
if the client is an simple java application and if the client is a servlet--
Michael Young
Developer Relations Engineer
BEA Support -
EJB Client Access From JDeveloper9iR2
I seem to be running into a lot of problems when trying to get a simple EJB client to talk to an EJB on our 9IAS platform. I have developed a simple session bean (just to test) which simply returns a string. When I create the default client code this works fine using the embedded OC4J server in Jdeveloper but I can't run a similar client against 9IAS when I deploy the code. When I go through the client wizard it seems to produce the same code as the standalone EJB OC4J client. I simply changed the name of the server (Context.PROVIDER_URL, "ormi://pe2500/). This is the parameter code I use:
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.evermind.server.rmi.RMIInitialContextFactory");
env.put(Context.SECURITY_PRINCIPAL, "admin");
env.put(Context.SECURITY_CREDENTIALS, "welcome");
env.put(Context.PROVIDER_URL, "ormi://pe2500:23891/MyEJBs");
This is the output I receive:
D:\jdeveloper9ir2\jdk\bin\javaw.exe -ojvm -classpath D:\javadev\ejbservlet\ejbservlet\WEB-INF\classes;D:\jdeveloper9ir2\jdev\lib\jdev-rt.jar;D:\jdeveloper9ir2\j2ee\home\lib\ojsp.jar;D:\jdeveloper9ir2\j2ee\home\jsp\lib\taglib\ojsputil.jar;D:\jdeveloper9ir2\j2ee\home\oc4j.jar;D:\jdeveloper9ir2\j2ee\home\lib\servlet.jar;D:\jdeveloper9ir2\jdev\lib\ojc.jar;D:\jdeveloper9ir2\j2ee\home\lib\activation.jar;D:\jdeveloper9ir2\j2ee\home\lib\ejb.jar;D:\jdeveloper9ir2\j2ee\home\lib\jaas.jar;D:\jdeveloper9ir2\j2ee\home\lib\jaxp.jar;D:\jdeveloper9ir2\j2ee\home\lib\jcert.jar;D:\jdeveloper9ir2\j2ee\home\lib\jdbc.jar;D:\jdeveloper9ir2\j2ee\home\lib\jms.jar;D:\jdeveloper9ir2\j2ee\home\lib\jndi.jar;D:\jdeveloper9ir2\j2ee\home\lib\jnet.jar;D:\jdeveloper9ir2\j2ee\home\lib\jsse.jar;D:\jdeveloper9ir2\j2ee\home\lib\jta.jar;D:\jdeveloper9ir2\j2ee\home\lib\mail.jar;D:\jdeveloper9ir2\j2ee\home\oc4j.jar;D:\jdeveloper9ir2\lib\xmlparserv2.jar;D:\jdeveloper9ir2\lib\xmlcomp.jar;D:\jdeveloper9ir2\j2ee\home\oc4j.jar;D:\jdeveloper9ir2\j2ee\home\lib\servlet.jar Samplemypackage6.ctejb1Client3
javax.naming.NamingException: Lookup error: java.net.ConnectException: Connection refused: connect; nested exception is:
java.net.ConnectException: Connection refused: connect
java.lang.Object com.evermind.server.rmi.RMIContext.lookup(java.lang.String)
RMIContext.java:134
java.lang.Object javax.naming.InitialContext.lookup(java.lang.String)
InitialContext.java:350
void Samplemypackage6.ctejb1Client3.main(java.lang.String[])
ctejb1Client3.java:18
Process exited with exit code 0.
Can anyone tell me if this is the correct communication method for client EJB's talking to the 9IAS server?
Any help really appreciated.
Chris Taylorhi Chris Taylor, did you find the solution for this error. i too get this error and i am looking for the answer. if you find any answer please share with me too. if i get any answer for this i will reply you too.
-
Hi, I use jdev 10g. I created a session bean with wizards and after that I created I Ejb client for that bean. When I start the embedded server and run the client java file I get the following error :
com.evermind.server.rmi.OrionRemoteException: jazn.com/admin is not allowed to call this EJB method, check your security settings (method-permission in ejb-jar.xml and security-role-mapping in orion-application.xml).
at denemeSessionHome_StatelessSessionHomeWrapper1.create(denemeSessionHome_StatelessSessionHomeWrapper1.java:41)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.evermind.server.rmi.RMICallHandler.run(RMICallHandler.java:124)
at com.evermind.server.rmi.RMICallHandler.run(RMICallHandler.java:48)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
at java.lang.Thread.run(Thread.java:534)
at connection to localhost/127.0.0.1 as admin
at com.evermind.server.rmi.RMIConnection.EXCEPTION_ORIGINATES_FROM_THE_REMOTE_SERVER(RMIConnection.java:1527)
at com.evermind.server.rmi.RMIConnection.invokeMethod(RMIConnection.java:1480)
at com.evermind.server.rmi.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:55)
at com.evermind.server.rmi.RecoverableRemoteInvocationHandler.invoke(RecoverableRemoteInvocationHandler.java:22)
at __Proxy0.create(Unknown Source)
at ejbpackage.denemeSessionClient.main(denemeSessionClient.java:21)
Process exited with exit code 0.
all settings are the default ones.
Anyone has any idea???hi
There was no problem with that... the AdviceClient is not in the package... I needed j2ee.jar and AdviceAppClient.jar to run the client and hte AdviceClient is in C\java\Projects\Advice directory.... can anyone help me with what is wrong with my first command which didnt work ...
java -classpath c:\Sun\AppServer\lib\j2ee.jar;c:\java\Projects\Advice;c:\java\Projects\AdviceAppClient.jar AdviceClient
This one worked though....
java -cp {$CLASSPATH}:"C:\java\Projects\Advice";AdviceAppClient.jar;c:\Sun\AppServer\lib\j2ee.jar; AdviceClient
I dont know what makes the difference...
vidhya -
We've got problems with respect to the number of EJB client threads (ExecuteThread) spawned by WebLogic in a client JVM. As the number of threads increase (~1700 in a JVM with 512Mb of memory and 2 hours of uptime), the JVM performance degrades substantially - although almost all these threads are waiting for requests, as one can see in the thread dump attached bellow.
This problem happens in an integration scenario involving both WebLogic (8.1 and 6.1 as service providers) and webMethods Integration Server (version 6.0.1); the webMethods EJB adapter (version 1.2) acts like EJB client from the WebLogic instances, and the "EJB client spawning threads" can be detected by thread dumps extracted from the Integration Server JVM. The URL property from the wm EJB adapter has been setup as t3://server:port. The Integration Server runs with Java HotSpot(TM) Server VM (build 1.4.2 1.4.2.02-040225-19:18-PA_RISC2.0 PA2.0 (aCC_AP), mixed mode) JRE in HP-UX (11.11) environment.
Although we couldn't reproduce this problem in a prod like environemnt, we'd identified that initially, WebLogic (weblogic.jar from WebLogic 6.1) spawns 5 ExecuteThreads plus 3 additional threads (TimeEventGenerator, SpinnerRandomSource and HighPriority TimeEventGenerator) in the first access of an EJB not matter the instance used, as well as two new threads (ExecuteThread) for each access to new WebLogic instances (different from previously accessed WebLogic instances). With weblogic.jar from the WebLogic 8.1 SP4 the behavior is slightly different: from the second instance access toward, only two new Threads (ExecuteThread in weblogic.JavaSocketReaders queue) are created.
We have also noticed that this problem should not be reflect of context classloaders because the counter of the ExecuteThread for the default pool only increases; in case of a pool cached in separate context classloaders, we should see "duplicate" threads with the same counter (starting with 0), which is not the case.
The questions are 1) why weblogic is spawning so much threads; 2) is there any setup/config to limit the number of WebLogic threads in the client context ?
Excerpt from the thread dump:
Full thread dump Java HotSpot(TM) Server VM (1.4.2 1.4.2.02-040225-19:18-PA_RISC2.0 PA2.0 (aCC_AP) mixed mode):
"ExecuteThread: '1749' for queue: 'default'" daemon prio=10 tid=05734140 nid=4813 lwp_id=583942 in Object.wait() [0x0dfbe000..0x0dfbe4f0]
at java.lang.Object.wait(Native Method)
- waiting on <4a5ef9f0> (a weblogic.common.internal.DynaQueue)
at weblogic.common.internal.DynaQueue.getW(DynaQueue.java:228)
- locked <4a5ef9f0> (a weblogic.common.internal.DynaQueue)
at weblogic.socket.JavaSocketMuxer.processSockets2(JavaSocketMuxer.java:252)
at weblogic.socket.JavaSocketMuxer.processSockets(JavaSocketMuxer.java:233)
at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:24)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
"ExecuteThread: '1742' for queue: 'default'" daemon prio=10 tid=04c263f0 nid=4812 lwp_id=583845 runnable [0x06449000..0x064494f0]
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at weblogic.socket.JavaSocketMuxer.processSockets2(JavaSocketMuxer.java:281)
- locked <4a5ee690> (a java.net.Socket)
at weblogic.socket.JavaSocketMuxer.processSockets(JavaSocketMuxer.java:233)
at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:24)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
"ExecuteThread: '1735' for queue: 'default'" daemon prio=10 tid=05733fd8 nid=4811 lwp_id=583784 in Object.wait() [0x064ca000..0x064ca4f0]
at java.lang.Object.wait(Native Method)
- waiting on <4c40a6b8> (a weblogic.kernel.ExecuteThread)
at java.lang.Object.wait(Object.java:429)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
- locked <4c40a6b8> (a weblogic.kernel.ExecuteThread)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '1734' for queue: 'default'" daemon prio=10 tid=01ecd940 nid=4810 lwp_id=583783 in Object.wait() [0x0654b000..0x0654b4f0]
at java.lang.Object.wait(Native Method)
- waiting on <4c40a728> (a weblogic.kernel.ExecuteThread)
at java.lang.Object.wait(Object.java:429)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
- locked <4c40a728> (a weblogic.kernel.ExecuteThread)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '1733' for queue: 'default'" daemon prio=10 tid=05733e70 nid=4806 lwp_id=583777 in Object.wait() [0x066ce000..0x066ce4f0]
at java.lang.Object.wait(Native Method)
- waiting on <4c40a798> (a weblogic.kernel.ExecuteThread)
at java.lang.Object.wait(Object.java:429)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
- locked <4c40a798> (a weblogic.kernel.ExecuteThread)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '1732' for queue: 'default'" daemon prio=10 tid=01ecd7d8 nid=4801 lwp_id=583771 in Object.wait() [0x065cc000..0x065cc4f0]
at java.lang.Object.wait(Native Method)
- waiting on <4c40a808> (a weblogic.kernel.ExecuteThread)
at java.lang.Object.wait(Object.java:429)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
- locked <4c40a808> (a weblogic.kernel.ExecuteThread)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '1731' for queue: 'default'" daemon prio=10 tid=05733d08 nid=4798 lwp_id=583766 in Object.wait() [0x067d0000..0x067d04f0]
at java.lang.Object.wait(Native Method)
- waiting on <4c40a878> (a weblogic.kernel.ExecuteThread)
at java.lang.Object.wait(Object.java:429)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
- locked <4c40a878> (a weblogic.kernel.ExecuteThread)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
... (cut for brevity)
"ExecuteThread: '2' for queue: 'default'" daemon prio=10 tid=009251b8 nid=172 lwp_id=569500 in Object.wait() [0x3d61f000..0x3d61f4f0]
at java.lang.Object.wait(Native Method)
- waiting on <4a5b4498> (a weblogic.kernel.ExecuteThread)
at java.lang.Object.wait(Object.java:429)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
- locked <4a5b4498> (a weblogic.kernel.ExecuteThread)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '1' for queue: 'default'" daemon prio=10 tid=00924ee8 nid=171 lwp_id=569499 in Object.wait() [0x3d6a0000..0x3d6a04f0]
at java.lang.Object.wait(Native Method)
- waiting on <4a5b40f0> (a weblogic.kernel.ExecuteThread)
at java.lang.Object.wait(Object.java:429)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
- locked <4a5b40f0> (a weblogic.kernel.ExecuteThread)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '0' for queue: 'default'" daemon prio=10 tid=00925050 nid=170 lwp_id=569498 in Object.wait() [0x3d7a2000..0x3d7a24f0]
at java.lang.Object.wait(Native Method)
- waiting on <4a5b3d48> (a weblogic.kernel.ExecuteThread)
at java.lang.Object.wait(Object.java:429)
at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
- locked <4a5b3d48> (a weblogic.kernel.ExecuteThread)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"Thread-2" daemon prio=10 tid=00bec5f0 nid=18 lwp_id=569246 in Object.wait() [0x41e2e000..0x41e2e4f0]
at java.lang.Object.wait(Native Method)
- waiting on <46c14ff0> (a com.wm.app.repov4.server.RepoServer$RepoLockTimeoutMgr)
at com.wm.app.repov4.server.RepoServer$RepoLockTimeoutMgr.run(RepoServer.java:1533)
- locked <46c14ff0> (a com.wm.app.repov4.server.RepoServer$RepoLockTimeoutMgr)
"Thread-1" daemon prio=10 tid=00bec488 nid=17 lwp_id=569244 in Object.wait() [0x41eaf000..0x41eaf4f0]
at java.lang.Object.wait(Native Method)
- waiting on <46c150a8> (a com.wm.driver.queue.data.DataQueue)
at java.lang.Object.wait(Object.java:429)
at com.wm.driver.queue.data.DataQueue.dequeue(DataQueue.java:310)
- locked <46c150a8> (a com.wm.driver.queue.data.DataQueue)
at com.wm.driver.queue.data.DataQueue.dequeueCommit(DataQueue.java:260)
- locked <46c150a8> (a com.wm.driver.queue.data.DataQueue)
at com.wm.driver.queue.data.DataQueue.dequeueCommit(DataQueue.java:254)
- locked <46c150a8> (a com.wm.driver.queue.data.DataQueue)
at com.wm.app.repov4.server.RepoServerBase$RepoEventManager.run(RepoServerBase.java:224)
"Log Thread" prio=10 tid=00bec320 nid=16 lwp_id=569243 in Object.wait() [0x41f30000..0x41f304f0]
at java.lang.Object.wait(Native Method)
- waiting on <46c15120> (a com.wm.util.sync.SimpleQueue)
at com.wm.util.sync.SimpleQueue.deq(SimpleQueue.java:171)
- locked <46c15120> (a com.wm.util.sync.SimpleQueue)
at com.wm.util.sync.SimpleQueue.deq(SimpleQueue.java:126)
- locked <46c15120> (a com.wm.util.sync.SimpleQueue)
at com.wm.app.b2b.server.ServerLogHandler$LogThread.run(ServerLogHandler.java:268)
"Cron Daemon" prio=10 tid=00bec1b8 nid=15 lwp_id=569241 in Object.wait() [0x41fb1000..0x41fb14f0]
at java.lang.Object.wait(Native Method)
- waiting on <46c15190> (a java.util.Vector)
at com.wm.util.Cron.run(Cron.java:424)
- locked <46c15190> (a java.util.Vector)
at java.lang.Thread.run(Thread.java:534)
"Cron Daemon Pool2" prio=10 tid=00bec050 nid=14 lwp_id=569240 in Object.wait() [0x42032000..0x420324f0]
at java.lang.Object.wait(Native Method)
- waiting on <46c15268> (a com.wm.util.pool.PooledThread)
at java.lang.Object.wait(Object.java:429)
at com.wm.util.pool.PooledThread.run(PooledThread.java:103)
- locked <46c15268> (a com.wm.util.pool.PooledThread)
at java.lang.Thread.run(Thread.java:534)
"Cron Daemon Pool1" prio=10 tid=00bebee8 nid=13 lwp_id=569239 in Object.wait() [0x420b3000..0x420b34f0]
at java.lang.Object.wait(Native Method)
- waiting on <46c152d0> (a com.wm.util.pool.PooledThread)
at java.lang.Object.wait(Object.java:429)
at com.wm.util.pool.PooledThread.run(PooledThread.java:103)
- locked <46c152d0> (a com.wm.util.pool.PooledThread)
at java.lang.Thread.run(Thread.java:534)
"webMethods Integration Server" prio=10 tid=000870e0 nid=12 lwp_id=569238 in Object.wait() [0x42134000..0x421344f0]
at java.lang.Object.wait(Native Method)
- waiting on <46c152f0> (a com.wm.app.b2b.server.Server)
at java.lang.Object.wait(Object.java:429)
at com.wm.app.b2b.server.Server.run(Server.java:353)
- locked <46c152f0> (a com.wm.app.b2b.server.Server)
"Signal Dispatcher" daemon prio=10 tid=00086f78 nid=7 lwp_id=569231 waiting on condition [0x00000000..0xffffffff]
"Finalizer" daemon prio=10 tid=00086e10 nid=5 lwp_id=569229 in Object.wait() [0x4293b000..0x4293b4f0]
at java.lang.Object.wait(Native Method)
- waiting on <46c15668> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:127)
- locked <46c15668> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:188)
"Reference Handler" daemon prio=10 tid=00086ca8 nid=4 lwp_id=569228 in Object.wait() [0x429bc000..0x429bc4f0]
at java.lang.Object.wait(Native Method)
- waiting on <46c15340> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:429)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:120)
- locked <46c15340> (a java.lang.ref.Reference$Lock)
"main" prio=10 tid=00086b40 nid=1 lwp_id=569222 in Object.wait() [0x68ff3000..0x68ff24f0]
at java.lang.Object.wait(Native Method)
- waiting on <46c152f0> (a com.wm.app.b2b.server.Server)
at java.lang.Thread.join(Thread.java:1001)
- locked <46c152f0> (a com.wm.app.b2b.server.Server)
at java.lang.Thread.join(Thread.java:1054)
at com.wm.app.b2b.server.Server.start(Server.java:141)
at com.wm.app.b2b.server.Main.main(Main.java:40)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.wm.proxy.Proxy.invokeStaticMethod(Proxy.java:166)
at com.wm.app.server.ServerProxy.ServerMain_main(ServerProxy.java:77)
at com.wm.app.server.ServerApp.start(ServerApp.java:105)
at com.wm.app.Application.launch(Application.java:490)
at com.wm.app.server.Main.main(Main.java:50)
"VM Thread" prio=7 tid=000167f8 nid=3 lwp_id=569227 runnable
"VM Periodic Task Thread" prio=8 tid=00016908 nid=11 lwp_id=569235 waiting on condition
"Suspend Checker Thread" prio=10 tid=00016880 nid=6 lwp_id=569230 runnableWe already opened a case. Actually, we did reproduce the problem: it happens because there is a hardware load balancing between the client and the WebLogic Server.
As far as I know, EJB load balancing can be done only with WebLogic clusters. Could you confirm that ? -
Changing a method in an EJB object without recompiling EJB-Clients
Hi!
I have 4 Web (JSP) applications using the same EJBs., deployed to a BEA Weblogic application server.I want to know if there is a way to change the code in a method in one of my EJB objects (no interface change) without recompiling and redeploying my EJB-clients and Web apps.
Regards,
Per - Chr.Hello,
I have 4 Web (JSP) applications using the same EJBs.,
deployed to a BEA Weblogic application server.I want
to know if there is a way to change the code in a
method in one of my EJB objects (no interface change)
without recompiling and redeploying my EJB-clients and
Web apps.You can change the EJB's without recompiling the clients as long as the interfaces and the classes used by both the EJB's and clients are not changed.
For example, if you don't change the interfaces but change the exception implementation thrown by a method of the bean, then you have to recompile the clients with the new version of the exception class.
Kexkey -
EJB Client JAR Creation - Workspace Studio (ALSB 3.0/WLS 10)
hi
I'm trying to create an EJB Client JAR for an 2.1 Session Bean EJB Created in a WLS 10 domain using BEA Workspace Studio (i.e. this is the Aqualogic Service Bus 3.0 Product install).
I'm doing this in preparation for testing the ALSB EJB Transport which requires a client JAR.
I simply can't get a useful JAR from the facility provided in the Workspace IDE. The Workspace help is pointing to an IBM generated page and I'm following the procedure there.
I have configured the EJB for an EJB Client Project.
If I export an EAR from the Application containing the EJB, the EAR only contains the EJB JAR (with a Manifest entry to a non-existent Client JAR).
If I export the EJB Client Project to a JAR the JAR is simply empty i.e. contains some descriptor type artefacts but no classes.
I have tried this quite a few times with the same outcome. Can anyone from BEA or the user community confirm whether or not this facility actually works!
Thanks
Jim Nicolsonhttp://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/ejbTransport/ejbtransport.html#wp1079062 . This is document for OSB 10xx and yours is a a version or two older than this (So it will be applicable).
Can you please check if your EJB are complying to 2.1specification?
However the latest version of service has support for both EJB 2.1 and EJB 3.0 specification
http://download.oracle.com/docs/cd/E14571_01/doc.1111/e15866/ejb.htm#CCGIFFCI
Thanks
Manoj -
Problems by creating EJB Client
Hello,
I tried to create a EJB Client for OC4J in IDE Eclipse.
but I got the exception
javax.naming.NoInitialContextException: Cannot instantiate class: com.evermind.server.rmi.RMIInitialContextFactory. Root exception is java.lang.ClassNotFoundException: com.evermind.server.rmi.RMIInitialContextFactory
I don't know which classes or packages or jars i need to get my application started. I tried to find class
com.evermind.server.rmi.RMIInitialContextFactory
manually but I didn't find it.
Best regards
GeorgeHi,
you will find the class in ${ora9ias_install}/j2ee/home/oc4jclient.jar
Greetings,
Frank -
How to hide password in EJB client
I have created an EJB client and it's initial context code is as below.
Hashtable env = new Hashtable();
env.put( Context.INITIAL_CONTEXT_FACTORY, "oracle.j2ee.naming.ApplicationClientInitialContextFactory" );
env.put( Context.SECURITY_PRINCIPAL, "scott" );
env.put( Context.SECURITY_CREDENTIALS, "welcome1" );
env.put(Context.PROVIDER_URL, "ormi://132.100.5.248:23791/ejbhr");
The password is shown within the code. Please advise how I can hide this password, thanks.
SKHi Mike,
Thanks for your information. From the documentation, password indirection applies to data-sources.xml, ra.xml, rmi.xml, jms.xml. My case is that the password is contained inside a Java program. Would you please provide me an example on how to apply password indirection for EJB client Java program? Much thanks.
SK -
URGENT : ejb client in Oracle 8
We developed a EJB client. This client should be called from an Oracle Database 8.1 (ejb compliant). But, each time we tried to load weblogic.jar, we have several errors into Oracle (ie : ORA-29534 NamingContext could not be resolved)
Do you have an idea why ? Someone already developed an ejb client into Oracle 8.1 ?They are reccomended because the next step going from your simple single EJB
to anything interesting, like adding more EJB's adding web-apps, adding
web-services etc etc involves ears. If the setup and overhead for an EAR is
easy, then just start there.
But no if you just doing helloworld you of course dont have to ears.
cheers
mbg
"Christopher R. Gardner" <[email protected]> wrote in message
news:3fc0560e$[email protected]..
>
"Mark Griffith" <[email protected]> wrote:
You can still run ejbc from the command line its still there. And you
can
still run weblogic.Deployer. (I dont ever reccomend jaring up in dev,
it
just takes longer, do exploded its easier and faster).
But ear's are easy, see:So ears are recommended even if you're just doing EJBs (e.g., a simpleHello World)
and no web apps (none needed for the Hello World or a PC client)?
http://www.niffgurd.com/mark/work/blog/
Cheers
mbg
"Christopher R. Gardner" <[email protected]> wrote in message
news:3fbfd6c6$[email protected]..
My understanding is ejbc has been deprecated and replaced with appc.Moreover,
BEA is encourgaging developers to deploy ear files. All I want todo is
to use
ant to deploy a jar file with a single EJB in it. I'm not findingthe WL
documentation
very helpful. Hopefully, you'll have better luck than I.
"skmurali" <[email protected]> wrote:
Hi
In order deploy EJB application in Weblogic 8.1, is it necessary
to compile
the application in WebLogic.ejbc. I did not find such files in
WebLogic
8.1
In weblogic 7.0 versiion has such files.
The present procedure is as follows.
1. Create a jar file contains all class files.
2. Create a jar file contains class jar files, plus .xml files
3. Deploy into weblogic 8.1 server EJB Deployment utility.
==================
Please help me.
Murali
Maybe you are looking for
-
Setting "Filling of Form Fields" document property to "Not allowed"
I am using Adobe LiveCycle Forms, and I want to set the property "Filling of Form Fields" as "not allowed" in the pdf documents it renders (that property can be found in the "Document Properties" window of Adobe Reader, under the Security Tab). Is th
-
Have to force quit iTunes 98% of the time
It did not improve with iTunes 8. Every time i go to the iTunes store (purchase or not) when I want to quit iTunes I get the beach ball and the fan kicks on until I force quit. Much of the time just listing to music the same thing occurs. Tips?
-
Problem with smartform interface
Hi guys, I want to put a strucuture in my import and tables in smartform interface using my own type,,, but it gives me an error that the type is not pre-defined... whta should I do? I have this type: TYPES: BEGIN OF t_likp, vbeln LIKE likp-
-
X Series SATA II or SATA III?
I just bought a ThinkPad X201 (still shipping) getting ready to buy a sdd for it. does this thing support SATA III? Or am i limited to a SATA II. Solved! Go to Solution.
-
Outstanding report for Schedule Agreement??
Which report can be used as a schedule agreement report to display below information : - Total target qty in SA (KTMNG) - Total open qty in SA (OKTMN) - Total qty GR based on SA. Kindly need your help gurus. Thank you