Topic
  • 3 replies
  • Latest Post - ‏2010-02-24T14:51:30Z by ThomasSchlag
ThomasSchlag
ThomasSchlag
5 Posts

Pinned topic CI 8.5:Can't obtain a com.venetica.vbr.client.User Object using SessionPool

‏2009-06-17T13:49:27Z |
Hi,

I am currently working on IBM ContentIntegrator 8.5 FP3 running on a Linux 64 bit SLES 10 machine.
I do also have a lot experience with the IICE 8.3 running on Windows. But 8.5 seems to be more challenging
than 8.3.

So far I was able to configure 5 different connectors within the Admin-Tool. I am also able
to connect to the repositories with the corresponding log in credentials using the Admin-Tool.

Next step I want use is the SessionPool functionallity. I set up a SessionPool within the AdminTool.
That seems not to be a big deal. I thought so ......

After setting up the SessionPool and after I have started the the VeniceBridgeServices.sh (the log file shows no Problem so far)
snip -->

Setting IBM Content Integrator environment variables /app/fa96/IBM/ContentIntegrator/lib/vbr.jar::/app/fa96/IBM/ContentIntegrator/docs/examples/  java:/app/fa96/IBM/ContentIntegrator/docs/examples/wsapi/java:/app/fa96/IBM/ContentIntegrat or/lib/axis-1.4.jar:/app/fa96/IBM/ContentIntegrator/lib/axis2-1.4.1.jar:/app/fa96/IBM/Conte ntIntegrator/lib/cmb81.jar:/app/fa96/IBM/ContentIntegrator/lib/cmbsdk81.jar:/app/fa96/IBM/C ontentIntegrator/lib/cmbview81.jar:/app/fa96/IBM/ContentIntegrator/lib/db2java.jar:/app/fa9 6/IBM/ContentIntegrator/lib/db2jcc.jar:/app/fa96/IBM/ContentIntegrator/lib/db2jcc_license_c isuz.jar:/app/fa96/IBM/ContentIntegrator/lib/db2jcc_license_cu.jar:/app/fa96/IBM/ContentInt egrator/lib/ITLMToolkit.jar:/app/fa96/IBM/ContentIntegrator/lib/jaxrpc.jar:/app/fa96/IBM/Co ntentIntegrator/lib/jlog.jar:/app/fa96/IBM/ContentIntegrator/lib/ocrs12.jar:/app/fa96/IBM/C ontentIntegrator/lib/ojdbc14_g.jar:/app/fa96/IBM/ContentIntegrator/lib/ojdbc14.jar:/app/fa9 6/IBM/ContentIntegrator/lib/vbr.jar:/opt/ondemand/www:/opt/ondemand/www/api/ODApi.jar Configuring IBM Content Integrator logging 15:05:33 INFO  [VBr] (VBrServices) COEM0019I: Starting the RMI registry on port 1,250. 15:05:33 INFO  [VBr] (VBrServices) COEM0028I: RMI registry started on port 1,250. 15:05:33 INFO  [VBr] (VBrServices) COEM0002I: Starting IBM Content Integrator Services 15:05:33 INFO  [VBr] (VBrServices) COEM0002I: Starting Configuration server 15:05:33 INFO  [VBr] (VBrServices) COEM0053I: Using configuration file: /app/fa96/IBM/Conte ntIntegrator/config.xml. 15:05:33 WARN  [VBr] (ITLMUtil) COEO0524W: The license request was denied because the Tivol i License Manager agent is not installed or other internal issues. The Tivoli License Manag er status message is 
'ITLM_AGENT_NOT_INSTALLED'. Check the stack trace log or the Tivoli Li cense Manager documentation 

for more information. 15:05:35 INFO  [VBr] (VBrServices) COEM0032I: Configuration server started at URL rmi:
//loc alhost:1250/ConfigurationServer. 15:05:35 INFO  [VBr] (VBrServices) COEM0002I: Starting Logging server 15:05:35 INFO  [VBr] (VBrServices) COEM0048I: Logging output to file /app/fa96/IBM/ContentI ntegrator/vbr.log. 15:05:35 INFO  [VBr] (VBrServices) COEM0032I: Logging server started at URL rmi:
//localhost :1250/LoggingServer. 15:05:35 WARN  [VBr] (VBrServices) COEM0007W: Required property vbr.services.registryport i s not defined. 15:05:35 INFO  [VBr] (VBrServices) COEM0002I: Starting RMI connector server 15:05:35 INFO  [VBr] (VBrServices) COEM0032I: RMI connector server started at URL rmi:
//loc alhost:1250/RMIBridgeServer2. 15:05:35 INFO  [VBr] (VBrServices) COEM0002I: Starting Session pool server 15:05:35 INFO  [VBr] (VBrServices) COEM0045I: Session pool server SessionPool listening on port 0. 15:05:35 INFO  [VBr] (VBrServices) COEM0034I: Hosting 1 session pool servers. 15:05:35 INFO  [VBr] (VBrServices) COEM0002I: Starting Single sign-on (SSO) server 15:05:35 INFO  [VBr] (VBrServices) COEM0031I: Binding Single sign-on (SSO) server to URL rm i:
//localhost:1250/SSOServer. 15:05:35 INFO  [VBr] (VBrServices) COEM0032I: Single sign-on (SSO) server started at URL rm i:
//localhost:1250/SSOServer. 15:05:35 INFO  [VBr] (VBrServices) COEM0026I: IBM Content Integrator Services started. [ ] 15:05:35:623 6/17/09: -6820861030024525404 Java Class: com.venetica.vbr.ejb.access.Acce ssServices --> Created local access services 

for access to 9 repositories [ ] 15:05:35:623 6/17/09: -6820861030024525404 Java Class: com.venetica.vbr.ejb.access.Acce ssServices --> Created local access services 

for access to 9 repositories Die Protokollierung von IBM Content Integrator wird neu konfiguriert. [ ] 15:05:35:645 6/17/09: -6820861030024525404 Java Class: com.venetica.vbr.ejb.access.Acce ssServices --> getRepositoryList: begin [ ] 15:05:35:645 6/17/09: -6820861030024525404 Java Class: com.venetica.vbr.ejb.access.Acce ssServices --> getRepositoryList: begin [ ] 15:05:35:646 6/17/09: -6820861030024525404 Java Class: com.venetica.vbr.ejb.access.Acce ssServices --> getRepositoryList: adding repository File System Connector 1 to the reposito ry list. [ ] 15:05:35:646 6/17/09: -6820861030024525404 Java Class: com.venetica.vbr.ejb.access.Acce ssServices --> getRepositoryList: adding repository File System Connector 1 to the reposito ry list. [ ] 15:05:35:646 6/17/09: -6820861030024525404 Java Class: com.venetica.vbr.ejb.access.Acce ssServices --> getRepositoryList: adding repository DB2-CM-Projektearchiv-Abnahme to the re pository list. [ ] 15:05:35:646 6/17/09: -6820861030024525404 Java Class: com.venetica.vbr.ejb.access.Acce ssServices --> getRepositoryList: adding repository DB2-CM-Projektearchiv-Abnahme to the re pository list. [ ] 15:05:35:646 6/17/09: -6820861030024525404 Java Class: com.venetica.vbr.ejb.access.Acce ssServices --> getRepositoryList: adding repository Mittelabrufliste_Prod_Q847MEF#  to the repository list. [ ] 15:05:35:646 6/17/09: -6820861030024525404 Java Class: com.venetica.vbr.ejb.access.Acce ssServices --> getRepositoryList: adding repository Mittelabrufliste_Prod_Q847MEF#  to the repository list.

<-- snap

I stumbled in a problem with my client component.

I wrote a simple test program like the SessionPoolServer.java example
provided by the CI commandline folder.


SessionPool pool = 

null; String SESSIONPOOLSERVERADDRESS = 
"rmi://XXXXXXX.linux.XX.XX.XX:1250/SessionPool"; 
// Create the session pool 

try 
{ System.out.println(
"Connecting to SessionPool over " + SESSIONPOOLSERVERADDRESS); pool = 

new SessionPool(SESSIONPOOLSERVERADDRESS); System.out.println(
"Successfully connected to SessionPool!");   System.out.println(
"SessionPool is in usable state: " + pool.isOpen()); String repoId = 
"b15c"; String repoUsername = 
"XXXXXXX"; 
//the real username and password combination works fine within AdminTool String repoPassword = 
"XXXXXXX"; System.out.println(
"Creating logging credentials ... "); RepositoryLoginCredential uc = 

new RepositoryLoginCredential(repoId, repoUsername, repoPassword);   RepositoryLoginCredential[] userCreds = 

new RepositoryLoginCredential[1]; userCreds[0] = uc; System.out.println(
"Obtainung User ... "); 
// this is the point where the whole procedure stucks....  User repoUser = pool.obtainUser(userCreds); ..... and so on .....


The output in my console window is like this:

Connecting to SessionPool over rmi:
//XXXXXXX.linux.rz.XX.XX:1250/SessionPool 2009-06-17 15:23:26,686 [main] INFO  com.venetica.vbr.client.session.SessionPool  - COEC0538I: Die Verbindung mit dem Sitzungspool wird hergestellt. Successfully connected to SessionPool! SessionPool is in usable state: 

true Creating logging credentials ... Obtainung User ...


I am wondering why the

pool.obtainUser(userCreds);
does not come back. It seems that this method
is waiting for what ever. I could not figure it out rigth now. It seems that the SessionPool creates a new thread
but this should not happen, because I used the simple constructor the create the SessionPool instance. I was trapped earlier by one of the other two constructors for the SessionPool which creates a new SessionPool running in locale mode.
What did I get wrong how SessionPool works?

Any suggestions which could help me out would be warmly appreciated.

Thanks in advance

Thomas
Updated on 2010-02-24T14:51:30Z at 2010-02-24T14:51:30Z by ThomasSchlag
  • ThomasSchlag
    ThomasSchlag
    5 Posts

    Re: CI 8.5:Can't obtain a com.venetica.vbr.client.User Object using SessionPool

    ‏2009-06-17T14:16:46Z  
    supplement:
    I figured out that the problems don't occur with
    connectors using RMIBridge.
    OnDemand Webenablement Kit using RMIBridge (port 1251) works fine
    also a customized Oracle RDBMS connector listening to a different
    port (1253).
    Problems occur with ContentManager Connector, RDBMS Connector configured
    for DB2 (running on a host system).

    With kind regards

    Thomas
  • ThomasSchlag
    ThomasSchlag
    5 Posts

    Re: CI 8.5:Can't obtain a com.venetica.vbr.client.User Object using SessionPool

    ‏2009-06-18T15:42:06Z  
    It's me again for a second update:

    I found following error messages in my log files.
    When I try to obtain a user from SessionPool for the ContentManager connector a
    
    2009-06-18 12:20:59,061 [main] INFO  com.venetica.vbr.client.session.SessionPool  - COEC0538I: Die Verbindung mit dem Sitzungspool wird hergestellt. 2009-06-18 12:20:59,686 [main] WARN  com.venetica.vbr.client.session.SessionPool  - COEC0546W: An error occurred 
    
    while obtaining the user from the session pool at URL rmi:
    //zeuthen.linux.rz.db.de:1250/SessionPool: java.rmi.UnmarshalException: error unmarshalling return; nested exception is: java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: com.ibm.mm.sdk.server.DKDatastoreICM.
    


    trying to obtain a user for DB2 connector a
    
    2009-06-18 12:25:17,511 [main] INFO  com.venetica.vbr.client.session.SessionPool  - COEC0538I: Die Verbindung mit dem Sitzungspool wird hergestellt. 2009-06-18 12:25:17,802 [main] WARN  com.venetica.vbr.client.session.SessionPool  - COEC0546W: An error occurred 
    
    while obtaining the user from the session pool at URL rmi:
    //zeuthen.linux.rz.db.de:1250/SessionPool: java.rmi.UnmarshalException: error unmarshalling return; nested exception is:  java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: com.ibm.db2.jcc.t4.b.
    

    is thrown.

    Somebody out there who may know what this might be?
    If you need more informations so please don't hesitate to ask me.

    Thanks

    Thomas
  • ThomasSchlag
    ThomasSchlag
    5 Posts

    Re: CI 8.5:Can't obtain a com.venetica.vbr.client.User Object using SessionPool

    ‏2010-02-24T14:51:30Z  
    Hi,

    just to clean up!

    If you use a SessionPool which is started in a seperate JVM instance for instance
    in a clustered environment and the SessionPoolServer is started as remote instance
    you have to set the property to use a configured RMIBridge within the ICI Admin tool.

    If you don't want to use a RMIBridge you have create a configured 'local mode' SessionPoolServer
    which runs in the same JVM as your application is running.

    Cheers!

    Thomas