|
WebLogic Server 6.0 Code Examples, BEA Systems, Inc. |
See:
Description
Interface Summary | |
MyBean | |
MyBeanHome |
Class Summary | |
MyBeanImpl |
This example demonstrates support for the connectivity between an EJB without valuetpes and a C++ client.
This example illustrates:
To get the most out of this example, first read through the source code files to see what is happening. Start with the XML deployment files to find the general structure of the EJBean, i.e. which classes are used for the different objects and interfaces, then examine the other files to see how the application works.
The following section describes how to build and run the example:
$ set VISIBROKER_HOME=c:\Inprise\vbroker
$ set IDL2CPP=%VISIBROKER_HOME%\bin\idl2cpp -no_servant -idl_strictwhere:
$ mkdir build build\META-INF build\images cpp\javax cpp\javax\ejb
$ copy *.xml build\META-INF
$ copy *.gif build\images
$ javac -d build MyBean.java MyBeanHome.java MyBeanImpl.java
$ cd build
$ jar cv0f std_simple_ejb_idl.jar META-INF examples images
$ cd ..
$ java weblogic.ejbc -compiler javac -idl -idlNoValueTypes -idlOverwrite -idlDirectory idlSources -iiop build\std_simple_ejb_idl.jar %APPLICATIONS%\simple_ejb_idl.jar
$ %IDL2CPP% -I%VISIBROKER_HOME%\idl -IidlSources -namespace -Iidl -src_suffix cpp -root_dir . idlSources\examples\rmi_iiop\ejb\simplified_idl\MyBean.idl
$ %IDL2CPP% -I%VISIBROKER_HOME%\idl -IidlSources -namespace -Iidl -src_suffix cpp -root_dir . idlSources\examples\rmi_iiop\ejb\simplified_idl\MyBeanHome.idl
$ %IDL2CPP% -I%VISIBROKER_HOME%\idl -IidlSources -namespace -Iidl -src_suffix cpp -root_dir cpp\javax\ejb idlSources\javax\ejb\EJBObject.idl
$ %IDL2CPP% -I%VISIBROKER_HOME%\idl -IidlSources -namespace -Iidl -src_suffix cpp -root_dir cpp\javax\ejb idlSources\javax\ejb\EJBHome.idl
$ %IDL2CPP% -I%VISIBROKER_HOME%\idl -IidlSources -namespace -Iidl -src_suffix cpp -root_dir cpp\javax\ejb idlSources\javax\ejb\RemoveEx.idl
$ %IDL2CPP% -I%VISIBROKER_HOME%\idl -IidlSources -namespace -Iidl -src_suffix cpp -root_dir cpp\javax\ejb idlSources\javax\ejb\CreateEx.idl
$ %IDL2CPP% -I%VISIBROKER_HOME%\idl -IidlSources -namespace -Iidl -src_suffix cpp -root_dir cpp\java\lang idlSources\java\lang\_Object.idl
$ %IDL2CPP% -I%VISIBROKER_HOME%\idl -IidlSources -namespace -Iidl -src_suffix cpp -root_dir cpp\java\rmi idlSources\java\rmi\Remote.idl
$ CL /MD /DTHREAD /nologo -DWIN32 /GX /DSTRICT /DALIGNED /DVISIBROKER /DMSVCUSING_BUG /DMSVCNESTEDUSING_BUG -Icpp -I%VISIBROKER_HOME%\include -I%VISIBROKER_HOME%\include\stubs -I%WL_HOME%\samples -c MyBean_c.cpp MyBeanHome_c.cpp cpp\Client.cpp cpp\javax\ejb\EJBObject_c.cpp cpp\javax\ejb\EJBHome_c.cpp cpp\javax\ejb\RemoveEx_c.cpp cpp\java\lang\_Object_c.cpp cpp\java\rmi\Remote_c.cpp
$ LINK /nologo /out:Client.exe /LIBPATH:%VISIBROKER_HOME%\lib MyBean_c.obj MyBeanHome_c.obj EJBObject_c.obj EJBHome_c.obj RemoveEx_c.obj _Object_c.obj Remote_c.obj Client.obj
Additional information on using the build scripts is found in Building Enterprise JavaBean examples
$ set CLASSPATH=%CLASSPATH%;%WL_HOME%\config\examples\applications\simple_ejb_idl.jarwhere WL_HOME is the installation directory for WebLogic Server.
Obtain the WebLogic Server Inter-operable Object Reference (IOR) by running the host2ior utility in the command shell as shown in this example for Windows NT/2000:
$ java utils.host2ior hostname portwhere:
$ Client ServerIORwhere ServerIOR is the IOR you obtained by running the host2ior utility.
Client output: Buying 100 shares Buying 200 shares Buying 300 shares Buying 400 shares Buying 500 shares Buying 600 shares Buying 700 shares Buying 800 shares Buying 900 shares Buying 1000 shares This is the server output: Buying 100 shares Attempt to buy 200 is greater than limit of 100 Buying 100 shares Attempt to buy 300 is greater than limit of 100 Buying 100 shares Attempt to buy 400 is greater than limit of 100 Buying 100 shares Attempt to buy 500 is greater than limit of 100 Buying 100 shares Attempt to buy 600 is greater than limit of 100 Buying 100 shares Attempt to buy 700 is greater than limit of 100 Buying 100 shares Attempt to buy 800 is greater than limit of 100 Buying 100 shares Attempt to buy 900 is greater than limit of 100 Buying 100 shares Attempt to buy 1000 is greater than limit of 100 Buying 100 shares
Notice that when the trading limit of 100 shares was exceeded in Transaction 2, the actual sale was reduced to the limit. The change in the cash account must be maintained across all the transactions by the Client.
Read more about WebLogic RMI over IIOP in the Developer Guide, Using WebLogic RMI over IIOP.
Read more about WebLogic EJB in the Developer Guide, BEA WebLogic Server Enterprise JavaBeans.
Read more about WebLogic RMI in the Developer Guide, Using WebLogic RMI.
|
Documentation is available at http://e-docs.bea.com/wls/docs60 |