Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "EclipseLink/Development/Testing/CacheCoordination"
(New page: JMS CacheCoordination Testing How to run EclipseLink JMS CacheCoordination on WebLogic 10.3 Using single machine Using multiple machines Testing With Single Machine (or localhost) Conf...) |
|||
Line 1: | Line 1: | ||
− | + | =CacheCoordination Testing= | |
− | + | ||
− | |||
− | |||
− | + | ==How to run EclipseLink JMS CacheCoordination on WebLogic 10.3== | |
− | + | ||
− | + | === Testing With Single Machine (or localhost) Configuration === | |
+ | |||
+ | * This test configuration assumes you're running following steps from EclipseLink's trunk/jpa/eclipselink.jpa.test directory | ||
1) Modify setEnv.sh as follow: | 1) Modify setEnv.sh as follow: | ||
− | + | <pre> | |
setenv WL_HOME /yourMiddleware_home/wlserver_10.3 | setenv WL_HOME /yourMiddleware_home/wlserver_10.3 | ||
setenv JAVA_HOME /yourMiddleware_home/jrockit_160_05_R27.6.2-20 | setenv JAVA_HOME /yourMiddleware_home/jrockit_160_05_R27.6.2-20 | ||
setenv ANT_HOME /yourMiddleware_home/modules/org.apache.ant_1.7.0 | setenv ANT_HOME /yourMiddleware_home/modules/org.apache.ant_1.7.0 | ||
setenv PATH ${PATH}:${WL_HOME}/server/native/linux/i686 | setenv PATH ${PATH}:${WL_HOME}/server/native/linux/i686 | ||
+ | </pre> | ||
2) Modify test.properties with serverName and DBconfig: | 2) Modify test.properties with serverName and DBconfig: | ||
− | + | <pre> | |
server.name=weblogic | server.name=weblogic | ||
jdbc.driver.jar=../../../extension.oracle.lib.external/ojdbc6_11.jar | jdbc.driver.jar=../../../extension.oracle.lib.external/ojdbc6_11.jar | ||
Line 26: | Line 26: | ||
db.pwd=password | db.pwd=password | ||
db.platform=org.eclipse.persistence.platform.database.oracle.Oracle11Platform | db.platform=org.eclipse.persistence.platform.database.oracle.Oracle11Platform | ||
+ | </pre> | ||
3) Modify weblogic.properties with following: | 3) Modify weblogic.properties with following: | ||
− | + | <pre> | |
server.url=t3://myhostName:7001/ | server.url=t3://myhostName:7001/ | ||
server.lib=/yourMiddleware_home/wlserver_10.3/server/lib | server.lib=/yourMiddleware_home/wlserver_10.3/server/lib | ||
Line 46: | Line 47: | ||
rcm.wls.server3.port=7031 | rcm.wls.server3.port=7031 | ||
cachecoordination.protocol=jms | cachecoordination.protocol=jms | ||
− | + | </pre> | |
4) Modify weblogic.xml to replace "localhost" with your HostName: | 4) Modify weblogic.xml to replace "localhost" with your HostName: | ||
− | + | <pre> | |
<target name="weblogic-start-nosleep"> | <target name="weblogic-start-nosleep"> | ||
<wlserver fork="true" spawn="true" weblogichome="${weblogic.home}" | <wlserver fork="true" spawn="true" weblogichome="${weblogic.home}" | ||
Line 61: | Line 62: | ||
</wlserver> | </wlserver> | ||
</target> | </target> | ||
− | + | </pre> | |
5) Configure domain and start AdminServer: Run setEnv.sh, then run targets server-install and server-start: | 5) Configure domain and start AdminServer: Run setEnv.sh, then run targets server-install and server-start: | ||
− | + | <pre> | |
source setEnv.sh | source setEnv.sh | ||
ant -l wl_install.log server-install | ant -l wl_install.log server-install | ||
ant -l wl_start.log server-start | ant -l wl_start.log server-start | ||
− | + | </pre> | |
6) Configure JDBC datasource: while AdminServer(server1) is running, in separate terminal run server-setup target, then server-stop: | 6) Configure JDBC datasource: while AdminServer(server1) is running, in separate terminal run server-setup target, then server-stop: | ||
− | + | <pre> | |
ant -l wl_setup.log server-setup | ant -l wl_setup.log server-setup | ||
ant -l wl_stop.log server-stop | ant -l wl_stop.log server-stop | ||
− | + | </pre> | |
7) Prepare for JMS configuration: Remove "lok" files, if any: | 7) Prepare for JMS configuration: Remove "lok" files, if any: | ||
− | + | <pre> | |
rm /yourMiddleware_home/wlserver_10.3/samples/domains/eclipselink/edit.lok | rm /yourMiddleware_home/wlserver_10.3/samples/domains/eclipselink/edit.lok | ||
rm /yourMiddleware_home/wlserver_10.3/samples/domains/eclipselink/config/config.lok | rm /yourMiddleware_home/wlserver_10.3/samples/domains/eclipselink/config/config.lok | ||
− | + | </pre> | |
8) Configure WL for JMS Cachecoordination: | 8) Configure WL for JMS Cachecoordination: | ||
copy following into an xml file (namely, interop-jms.xml) and place it in /yourMiddleware_home/wlserver_10.3/samples/domains/eclipselink/config/jms/ | copy following into an xml file (namely, interop-jms.xml) and place it in /yourMiddleware_home/wlserver_10.3/samples/domains/eclipselink/config/jms/ | ||
− | + | <pre> | |
<weblogic-jms xmlns=...> | <weblogic-jms xmlns=...> | ||
Line 98: | Line 99: | ||
</topic> | </topic> | ||
</weblogic-jms> | </weblogic-jms> | ||
− | + | </pre> | |
9) Make changes to /yourMiddleware_home/wlserver_10.3/samples/domains/eclipselink/config/config.xml as shown below: | 9) Make changes to /yourMiddleware_home/wlserver_10.3/samples/domains/eclipselink/config/config.xml as shown below: | ||
− | + | <pre> | |
<server> | <server> | ||
<name>myserver</name> | <name>myserver</name> | ||
Line 139: | Line 140: | ||
<descriptor-file-name>jms/interop-jms.xml</descriptor-file-name> | <descriptor-file-name>jms/interop-jms.xml</descriptor-file-name> | ||
</jms-interop-module> | </jms-interop-module> | ||
− | + | </pre> | |
10) Also add all servers to JDBC-system-resource target element: | 10) Also add all servers to JDBC-system-resource target element: | ||
− | + | <pre> | |
<jdbc-system-resource> | <jdbc-system-resource> | ||
<name>CP-ejbPool</name> | <name>CP-ejbPool</name> | ||
Line 154: | Line 155: | ||
<descriptor-file-name>jdbc/TxDS-EclipseLinkDS-6646-jdbc.xml</descriptor-file-name> | <descriptor-file-name>jdbc/TxDS-EclipseLinkDS-6646-jdbc.xml</descriptor-file-name> | ||
</jdbc-system-resource> | </jdbc-system-resource> | ||
− | + | </pre> | |
11) Start all servers using following target from trunk/jpa/eclipselink.jpa.test: | 11) Start all servers using following target from trunk/jpa/eclipselink.jpa.test: | ||
− | + | <pre> | |
ant -f build.xml -l rcm_start.log server-start-cachecoordination | ant -f build.xml -l rcm_start.log server-start-cachecoordination | ||
− | + | </pre> | |
12) Run CacheCoordination tests using following target from trunk/jpa/eclipselink.jpa.test: | 12) Run CacheCoordination tests using following target from trunk/jpa/eclipselink.jpa.test: | ||
− | + | <pre> | |
ant -f build.xml -l rcm_test.log server-run-test-cachecoordination | ant -f build.xml -l rcm_test.log server-run-test-cachecoordination | ||
− | + | </pre> | |
13) (lucky13!) Results are in report dir: | 13) (lucky13!) Results are in report dir: | ||
Line 169: | Line 170: | ||
− | |||
− | + | === Testing With Multiple Machines (i.e remote managed servers) Configuration === | |
+ | |||
+ | |||
+ | '''This configuration assumes:''' | ||
o AdminServer(server1) and one managedServer(server3) will be on Machine1(localhost) | o AdminServer(server1) and one managedServer(server3) will be on Machine1(localhost) | ||
o managedServer2(server2) will be hosted on Machine2(remote) | o managedServer2(server2) will be hosted on Machine2(remote) | ||
Line 187: | Line 190: | ||
4) On Machine1, from yourWL_ROOT_DIR/wlserver_10.3/common/bin/ dir, you could "pack" template of your domain: see http://edocs.bea.com/common/docs103/pack/tasks.html | 4) On Machine1, from yourWL_ROOT_DIR/wlserver_10.3/common/bin/ dir, you could "pack" template of your domain: see http://edocs.bea.com/common/docs103/pack/tasks.html | ||
− | + | <pre> | |
./pack.sh -managed=true -domain=yourDomain_DIR -template=mydomain_managed.jar -template_name="MyManagedServerDomain" | ./pack.sh -managed=true -domain=yourDomain_DIR -template=mydomain_managed.jar -template_name="MyManagedServerDomain" | ||
− | + | </pre> | |
5) Copy template jar generated in step 4 above to Machine2. Then to create managedServer from the template, go to Machine2/yourWL_ROOT_DIR/wlserver_10.3/common/bin/ dir, you could "unpack" template of your domain: see http://edocs.bea.com/common/docs103/pack/tasks.html | 5) Copy template jar generated in step 4 above to Machine2. Then to create managedServer from the template, go to Machine2/yourWL_ROOT_DIR/wlserver_10.3/common/bin/ dir, you could "unpack" template of your domain: see http://edocs.bea.com/common/docs103/pack/tasks.html | ||
− | + | <pre> | |
./unpack.sh -managed=true -domain=yourDomain_DIR -template=mydomain_managed.jar" | ./unpack.sh -managed=true -domain=yourDomain_DIR -template=mydomain_managed.jar" | ||
− | + | </pre> | |
6) Configure JDBC datasource and JMS server on adminServer either using AdminConsole or following steps 7 thru 10 from "Testing with Single Machine Configuration" above | 6) Configure JDBC datasource and JMS server on adminServer either using AdminConsole or following steps 7 thru 10 from "Testing with Single Machine Configuration" above | ||
7) start adminServer(myserver) from Machine1's yourDomain directory: | 7) start adminServer(myserver) from Machine1's yourDomain directory: | ||
− | + | bin/startWebLogic.sh | |
8) start remote managedServer(server2) from Machine2's yourDomain directory: | 8) start remote managedServer(server2) from Machine2's yourDomain directory: | ||
− | + | bin/startserver2.sh | |
9) start local managedServer(server3) from Machine1's yourDomain directory: | 9) start local managedServer(server3) from Machine1's yourDomain directory: | ||
− | + | bin/startManagedWebLogic.sh server3 http://adminServerHost:adminServerPort | |
10) Run tests following step #12 from "Testing with Single Machine Configuration" above | 10) Run tests following step #12 from "Testing with Single Machine Configuration" above |
Revision as of 16:31, 2 March 2009
Contents
CacheCoordination Testing
How to run EclipseLink JMS CacheCoordination on WebLogic 10.3
Testing With Single Machine (or localhost) Configuration
- This test configuration assumes you're running following steps from EclipseLink's trunk/jpa/eclipselink.jpa.test directory
1) Modify setEnv.sh as follow:
setenv WL_HOME /yourMiddleware_home/wlserver_10.3 setenv JAVA_HOME /yourMiddleware_home/jrockit_160_05_R27.6.2-20 setenv ANT_HOME /yourMiddleware_home/modules/org.apache.ant_1.7.0 setenv PATH ${PATH}:${WL_HOME}/server/native/linux/i686
2) Modify test.properties with serverName and DBconfig:
server.name=weblogic jdbc.driver.jar=../../../extension.oracle.lib.external/ojdbc6_11.jar db.driver=oracle.jdbc.OracleDriver db.url=jdbc:oracle:thin:@localhost:1521:toplink db.user=username db.pwd=password db.platform=org.eclipse.persistence.platform.database.oracle.Oracle11Platform
3) Modify weblogic.properties with following:
server.url=t3://myhostName:7001/ server.lib=/yourMiddleware_home/wlserver_10.3/server/lib weblogic.home=/yourMiddleware_home/wlserver_10.3/server/ weblogic.domain=/yourMiddleware_home/wlserver_10.3/samples/domains/eclipselink weblogic.port=7001 weblogic.host=myhostName domain.name=eclipselink rcm.wls.server1.httphost=${weblogic.host} rcm.wls.server2.httphost=${weblogic.host} rcm.wls.server3.httphost=${weblogic.host} rcm.wls.server1.name=myserver rcm.wls.server2.name=server2 rcm.wls.server3.name=server3 rcm.wls.server1.port=7001 rcm.wls.server2.port=7021 rcm.wls.server3.port=7031 cachecoordination.protocol=jms
4) Modify weblogic.xml to replace "localhost" with your HostName:
<target name="weblogic-start-nosleep"> <wlserver fork="true" spawn="true" weblogichome="${weblogic.home}" dir="${weblogic.domain}" host="myhostName" generateConfig="true" verbose="true" username="${server.user}" password="${server.pwd}" action="start"> ............ <target name="weblogic-stop"> <wlserver fork="true" failonerror="false" weblogichome="${weblogic.home}" dir="${weblogic.domain}" host="myhostName" username="${server.user}" password="${server.pwd}" action="shutdown"> </wlserver> </target>
5) Configure domain and start AdminServer: Run setEnv.sh, then run targets server-install and server-start:
source setEnv.sh ant -l wl_install.log server-install ant -l wl_start.log server-start
6) Configure JDBC datasource: while AdminServer(server1) is running, in separate terminal run server-setup target, then server-stop:
ant -l wl_setup.log server-setup ant -l wl_stop.log server-stop
7) Prepare for JMS configuration: Remove "lok" files, if any:
rm /yourMiddleware_home/wlserver_10.3/samples/domains/eclipselink/edit.lok rm /yourMiddleware_home/wlserver_10.3/samples/domains/eclipselink/config/config.lok
8) Configure WL for JMS Cachecoordination: copy following into an xml file (namely, interop-jms.xml) and place it in /yourMiddleware_home/wlserver_10.3/samples/domains/eclipselink/config/jms/
<weblogic-jms xmlns=...> <connection-factory name="EclipseLink Topic Factory"> <jndi-name>jms/EclipseLinkTopicConnectionFactory</jndi-name> <transaction-params> <xa-connection-factory-enabled>false</xa-connection-factory-enabled> </transaction-params> </connection-factory> <topic name="EclipseLink Topic"> <sub-deployment-name>EclipseLink JMSServer</sub-deployment-name> <delivery-params-overrides> <delivery-mode>Non-Persistent</delivery-mode> </delivery-params-overrides> <jndi-name>jms/EclipseLinkTopic</jndi-name> </topic> </weblogic-jms>
9) Make changes to /yourMiddleware_home/wlserver_10.3/samples/domains/eclipselink/config/config.xml as shown below:
<server> <name>myserver</name> <listen-port>7001</listen-port> <listen-address>myhostName</listen-address> </server> <server> <name>server2</name> <native-io-enabled>true</native-io-enabled> <listen-port>7021</listen-port> <listen-address>myhostName</listen-address> </server> <server> <name>server3</name> <native-io-enabled>true</native-io-enabled> <listen-port>7031</listen-port> <listen-address>myhostName</listen-address> </server> ... <jms-server> <name>EclipseLink JMSServer</name> <target>myserver</target> <store-enabled>false</store-enabled> <allows-persistent-downgrade>true</allows-persistent-downgrade> <hosting-temporary-destinations>false</hosting-temporary-destinations> </jms-server> <jms-interop-module> <name>interop-jms</name> <sub-deployment> <name>EclipseLink Topic Factory</name> <target>myserver</target> </sub-deployment> <sub-deployment> <name>EclipseLink JMSServer</name> <target>EclipseLink JMSServer</target> </sub-deployment> <descriptor-file-name>jms/interop-jms.xml</descriptor-file-name> </jms-interop-module>
10) Also add all servers to JDBC-system-resource target element:
<jdbc-system-resource> <name>CP-ejbPool</name> <target>myserver,server2,server3</target> <deployment-order>1</deployment-order> <descriptor-file-name>jdbc/CP-ejbPool-1657-jdbc.xml</descriptor-file-name> </jdbc-system-resource> <jdbc-system-resource> <name>TxDS-EclipseLinkDS</name> <target>myserver,server2,server3</target> <deployment-order>4</deployment-order> <descriptor-file-name>jdbc/TxDS-EclipseLinkDS-6646-jdbc.xml</descriptor-file-name> </jdbc-system-resource>
11) Start all servers using following target from trunk/jpa/eclipselink.jpa.test:
ant -f build.xml -l rcm_start.log server-start-cachecoordination
12) Run CacheCoordination tests using following target from trunk/jpa/eclipselink.jpa.test:
ant -f build.xml -l rcm_test.log server-run-test-cachecoordination
13) (lucky13!) Results are in report dir:
trunk/jpa/eclipselink.jpa.test/report/junit-noframes.html FEB-26-2009: all 6 tests should pass
Testing With Multiple Machines (i.e remote managed servers) Configuration
This configuration assumes: o AdminServer(server1) and one managedServer(server3) will be on Machine1(localhost) o managedServer2(server2) will be hosted on Machine2(remote)
1) Follow steps 1 thru 4 from "Testing with Single Machine Configuration" above 2) Install WL on all machines(Machine1, Machine2) that going to be included as part of Cluster (need to confirm if this is really necessary)
3) On Machine1, create a cluster as follow:
* create two managed servers (server3 with Machine1's ListenAddress, and server2 with Machine2's ListenAddress) * create two machines (machine1, machine2) * create a cluster (mycluster with default listenAddress and optionally change portNumber to 7011) * add two managed servers (server2, server3) to the cluster(mycluster) * name the domain (eclipselink) and set location (i.e yourWL_ROOT_DIR/wlserver_10.3/samples/domains)
4) On Machine1, from yourWL_ROOT_DIR/wlserver_10.3/common/bin/ dir, you could "pack" template of your domain: see http://edocs.bea.com/common/docs103/pack/tasks.html
./pack.sh -managed=true -domain=yourDomain_DIR -template=mydomain_managed.jar -template_name="MyManagedServerDomain"
5) Copy template jar generated in step 4 above to Machine2. Then to create managedServer from the template, go to Machine2/yourWL_ROOT_DIR/wlserver_10.3/common/bin/ dir, you could "unpack" template of your domain: see http://edocs.bea.com/common/docs103/pack/tasks.html
./unpack.sh -managed=true -domain=yourDomain_DIR -template=mydomain_managed.jar"
6) Configure JDBC datasource and JMS server on adminServer either using AdminConsole or following steps 7 thru 10 from "Testing with Single Machine Configuration" above
7) start adminServer(myserver) from Machine1's yourDomain directory:
bin/startWebLogic.sh
8) start remote managedServer(server2) from Machine2's yourDomain directory:
bin/startserver2.sh
9) start local managedServer(server3) from Machine1's yourDomain directory:
bin/startManagedWebLogic.sh server3 http://adminServerHost:adminServerPort
10) Run tests following step #12 from "Testing with Single Machine Configuration" above