| This test is for testing if ic-based policy for loadbalancing works. | |
| The following is happening in the client code: | |
| InitialContext initial is used for looking up the following: | |
| ejb/MyStudent | |
| Lookup is performed thrice with 3 different InitialContexts. | |
| The appclient script takes in a new config file called sun-acc-lb.xml which specifies the loadbalancingpolicy and endpoint list. Please specify the endpoints list as host:port values separated by comma. | |
| For standalone clients, please modify the EnrollerClient.java's ENDPOINTS variable to specify the endpoints. | |
| Assume there are 2 hosts specified: | |
| a:3700 and b:3700 | |
| start the server under domain1 for machine a | |
| start the server under domain2 for machine b | |
| start pointbase for both machines. | |
| run the following for the primary machine (for e.g. a) : | |
| ant build setup deploy | |
| run the following for the secondary machine (for e.g. b) : | |
| ant deploy | |
| Next, run the following for the primary machine (for e.g. a) : | |
| ant run | |
| This will run the appclient twice, with java.naming.factory.initial set to | |
| - com.sun.enterprise.naming.SerialInitContextFactory | |
| - com.sun.appserv.naming.S1ASCtxFactory | |
| Next the stand alone client will be run with java.naming.factory.initial set to | |
| - com.sun.enterprise.naming.SerialInitContextFactory | |
| - com.sun.appserv.naming.S1ASCtxFactory | |
| After executing the client, you can view the log created in the file specified in sun-acc-lb.xml. | |
| The log displays the SerialContext instance value (address). Please keep the Log level to FINE. The same instance should be used for looking up the ejb refs. | |
| Make sure you run "ant unsetup setup" on all machines before executing the test multiple times. | |
| ant run does the following: | |
| run appclient with SerialInitContextFactory | |
| run appclient with S1ASCtxFactory | |
| run standalone client with SerialInitContextFactory | |
| run standalone client with S1ASCtxFactory | |
| This has a problem with cleaning the database if the server instances are on different machines. In that case, run appclient separately as "ant run-appclient" | |
| Remember to: | |
| 1> comment out "-xml ..." in the runclient-common target in $APS_HOME/config/common.xml | |
| 2> specify endpoints and target serverhost/port in sun-acc-lb.xml,sun-acc-lb1.xml,sun-acc-lb2.xml | |
| 3> make sure that the admin's port is 4848 else you will need to modify the cluster-setup & cluster-unsetup scripts. | |
| 4> start derby | |
| 5> run "ant all" | |
| 6> there are 4 cases: | |
| sun-acc-lb.xml : no target-server specified. So results in a parse error | |
| sun-acc.-lb1.xml : target-server+ specified and no endpoints | |
| sun-acc-lb2.xml : both specified | |
| sun-acc-lb3.xml :endpoints specified , only 1 target-server specified. | |
| 7> Do this for debugging : execute the following: | |
| ./asadmin set --user admin --password adminadmin --host localhost --port 4848 domain.resources.jdbc-connection-pool.bmpEnrollerPool.property.DatabaseName=jdbc:pointbase:server://localhost:9092/sqe-samples,new | |
| ./asadmin set --user admin --password adminadmin --host localhost --port 4848 domain.resources.jdbc-connection-pool.bmpEnrollerPool.property.User=pbPublic | |
| ./asadmin set --user admin --password adminadmin --host localhost --port 4848 domain.resources.jdbc-connection-pool.bmpEnrollerPool.property.Password=pbPublic | |
| ./asadmin create-jdbc-connection-pool --datasourceclassname com.pointbase.jdbc.jdbcDataSource --restype javax.sql.DataSource --target C1 --user admin --password adminadmin bmpEnrollerPool | |
| ./asadmin create-jdbc-resource --user admin --password adminadmin --connectionpoolid bmpEnrollerPool --target C1 jdbc/bmp-enrollerDB | |
| ./asadmin deploy --user admin --password adminadmin --target C1 --type application --retrieve /home/sheetal/ws7-15/appserv-tests//build/module/archive /home/sheetal/ws7-15/appserv-tests//build/module/archive/loadbalancing-AppApp.ear |