Home

Welcome to the JEE Application Server Blog

  Steven Robinson is a JEE specialist consultant focusing on Oracle WebLogic Server, IBM WebSphere Application Server and and RedHat Jboss.

I have created this blog to allow some of my knowledge to spill out into the JEE community. As a result of many years as an IT consultant, I have helped many organization’s in both Europe and the United States of America, to sort out issues and problems with Java-based application-server platforms.

I provide expertise in the following areas.

  • Training and knowledge transfer
  • Advanced Jython scripting
  • Java debugging and general JEE problem solving
  • JEE Application packaging
  • Server build including Build/Deploy automation such as Continuous Integration
  • Mobile application provisioning
  • JMS and WMQ Messaging (internal and External)
  • WebServices, SOA and ESB -> domain knowledge

Use the blog to learn about the three big JEE Application Server platforms:  IBM WebSphere Application, Oracle WebLogic Server and RedHat JBoss. Looking through these pages within you will find Tutorials, answers to common questions and sample scripts.

To suggest content you can reply to my JEE Topic Suggestions page or post questions to my FAQ page.

Cheers, Steve

53 comments

  1. Azeem Koralli says:

    Our Server HTTPD conf file Size is 3998 lines…I’m going add more lines I can. But when i add more lines.
    http_plugin.log logs are not generating…

    Pls help me over come from this issue…

    Awaiting for your valuable replay…Thanks…

    1. Steve Robinson says:

      What you should be doing is creating other *.conf files in a a named folder (Can even be in same folder as httpd.conf, but not good practice). Apache/IBM HTTP Server can reference other conf files to contain specific virtual host definitions and settings. This way your main httpd.conf is not too large. Use this reference (link) below to configure multiple Apache Virtual Host Containers in Separate Files:

      http://wiki.centos.org/TipsAndTricks/ApacheVhostDir

  2. Alex says:

    Hello

    Can you, please help with configuring WebSphere using LDAP Federated repositories throw wsadmin commands.
    Or can you provide information how I can find necessary parameters for wsadmin.
    How configure WebSphere using LDAP Federated repositories – I know only in GUI.

    Thanks.

    1. Steve Robinson says:

      If you look on this page(linked) there is a comment regarding wsadmin and LDAP etc. http://blog.webspheretools.com/websphere-blog-content-requests/

      PS. In about 2-3 weeks form today I will have a new Security and SSL guide which covers some administration via scripting using Python.

      Regards,

      Steve

  3. Rakesh says:

    Hi,
    I am using eclipse ganymede and recently i have configured web sphere. it is working fine, but the problem i am facingis that whenever i am trying to deply web application, it shows synchronized but that application is not actaully getting deployed.
    i checked in the logs and couldnt find anything.. only message i saw in .metadata folder of my workspace and that is some ANT UI timeout. i am not sure if this is causing the problem, Please help here

    1. Steve Robinson says:

      1. Have you checked ports.

      2. There is no actual official supported auto deploy to IBM WebSphere outside of using RAD/RSA products. So how are you achieving this? Best to us WS_ANT and create ANT build scripts using the WebSphere ANT commands. Below is an example.

      http://www.webspheretools.com/sites/webspheretools.nsf/docs/ws_ant%20script%20to%20install%20an%20application%20into%20WebSphere.

    2. ben_h says:

      I’ve just had a really interesting similar problem to this, application deployment from NDM to 4 base nodes. There were 5 applications to be deployed and on application release 4 when it was synched to base node 4, 69 files didnt make it including a core EJB jar file.

      Base nodes 1-3 were fine, so I forced a full resynch – no change, I then did a syncNode.(sh|bat) – again with no impact, and that should always work.

      I then renamed the deployed EAR file and tried again, but nothing came through and then in an act of desperation I used a wsadmin script to refresh the repository epoch – and that still didnt pull down the 69 missing files, each time the NDM and base node thought they were fully in synch.

      In the end, with the use of diff and md5sum I copied over the missing components and got the server up and running.

      I’ve a PMR open with IBM, my suspicion is that the base node threw an OOM exception whilst the server was being synched and the heapdumps filled the file system right at the wrong time or (because someone had switched on auto sync) the installation script was installing the app to the config repository right at the same time it shoved it out.

      When IBM get back to me with an answer I’ll let you all know.

      1. Steve Robinson says:

        I also now employ -XDump agent settings to manage heap dumps/core dumps to an independent File System, blah and thus minimize impact on other WAS ND processes. On a side I am on a project where we are raising about 2 PMR’s a QTR on just one add-on to WAS ND and so no matter how good the Big Blue is, after all it is still software. I am so glad things don’t work, keeps us all employed :-)

        Thanks for the comments Ben!

  4. Vishal says:

    Hi,
    I have WAS 8.0 installed on Linux. I am trying set LD_LIBRARY_PATH under Java Process Definition — Environment Entries of the application server. But when I restart the server the entry is missing from the Java library path in the SystemOut.log.
    I can make it work by adding the entry into startServer.sh and use startwas to start the server. But it is not available when I use the console or wsadmin scripts to start the server.
    I did go through your WAS 8.0 Administration book but unfortunately could not find any reference to this.
    Please help!!!

    1. Steve Robinson says:

      Why are wanting to use LD_LIBRARY_PATH, what for? If you want a shared library you can use shared libraries in the admin console.

      1. Shobha says:

        I also have similar issue, on WAS 7 ND(AIX), I created LIBPATH from
        Java and Process Management–> Process Definition–>Environment Entries–>new (LIBPATH ), the entires that were removed still showup on systemout.log. Have restarted server1( under which my app is installed) couple of times. how to fix this?

        1. Steve Robinson says:

          Please explain why you you are doing this, why are yo not using shared libraries?

      2. Vishal says:

        Steve,
        Thanks for your response.
        We need the LD_LIBRARY_PATH because tibco needs some native libs apart from the java jars.

        I think shared libraries go into classpath and LD_LIBRARY_PATH goes into PATH or java.library.path

        Thanks

  5. Rakesh says:

    We can deploy ear file in WAS server only .class file are located in server but where is source code. If it is available can you please send me the path of source code.

    1. Steve Robinson says:

      look for installed apps folder within the config folder of the server’s profile. If this is WAS ND then this location will be in many places depending on your cluster design.

    2. entwisi says:

      IMHE its rare for an EAR to contain source code(especially in 3rd party software!) . usually in build only compiled Java is delivered. You could use a JAD tool try and reverse engineer but its not usually 100% and you need to check any license restrictions on doing so.

      I guess the question is why do you need the source code and why dont you already have it?


      entwisi

      :o )

    3. Steve Robinson says:

      I agree, you will only find .class file and JAR files. If it is meant where is the source code ie the contents of the EAR file then my comment above stands true, otherwise if source code means the java source of the compiled classes then you would nee to go back to the developers.

  6. Akshay says:

    Hi Steve,

    Happy New Year to you.

    I have installed WebSphere MQ on two machines running on Windows XP platform. Both the PC’s are within a local network. Created Queue Manager QM1 on machine 1 and Queue Manager QM 2 on machine 2. Created Server connection channel SYSTEM.ADMIN.SVRCONN on both as well as client connections. Both the Queue Managers have Listener running on port 1414. Now I want to create a MQ cluster with QM1 as a local Queue Manager while QM2 as a remote Queue Manager. But I am getting an error “You are not authorized to perform this operation. (AMQ4036)”. Tried this ALTER CHANNEL(SYSTEM.ADMIN.SVRCONN) CHLTYPE(SVRCONN) MCAUSER(‘nobody’) but its not working. Replaced ‘nobody’ with MUSER_MQADMIN.

    1. Steve Robinson says:

      The Active Directory Domain you belong to means that you are part of a group that needs to be given rights so that you can use MQ Explorer. Check the MQM group are you in it locally and does the group exist in Linux as well? I can’t remember of the top of my head, but I have a feeling you may need to set mqauth settings i.e. look into setmqaut MQ command. If the machine is not part of the domain then maybe the MQ Admin group was not set?

      FYI: I know you can secure MQ Explorer to stop MQ being accessed by removing the system defined sever conn channels and allocating people to the appl. specific server conn channel and with security exit set, so I suspect checking / changing these options could allow you access?

      I also recall something about the rights that MQ is running as a service, but I cannot remember. Workgroup’s tend not to have this issue.

      Also are there any errors in the eclipse log ? (Will be in a file called %APPDATA%\IBM\MQ Explorer\.metadata\.log).

      Also MQ security is all about users and groups. If the user in the windows box is not in the MQ server’s groups ie linux user/greoup then there will be connection issues.

      Check out this link below, for some tips for WMQ from my knowledgebase.

      http://www.webspheretools.com/sites/webspheretools.nsf/docs!searchview&query=richtext+CONTAINS+*Websphere,mq*&SearchOrder=1

  7. prakash rao says:

    Hi Steve:
    I ‘m IBM certified WAS 7.0 professional and I went through all the interview questions provided by you and I have work experience but still I’m not able to get through the interviews.
    Our department got closed so trying out for a new one.
    The architechture on which I worked is very small , only one j2ee application runs. on two linux boxes (Clustering is being done vertical and horizantal) before these two boxes we have csm switch which does load balancing.

    So I keep saying these, is there any better way of describing the architechture

    Please suggest….thank you

    1. Steve Robinson says:

      I couldn’t understand exactly what you need from me?

      1. An overview of different WebSphere Application Server Architectures
      2. How does High Availability work?

      Note: I am offering online courses in Q3/Q4 of 2012 and so many of these type of topics will be ready for general purchase very soon. These will be some of the best WebSphere Application Server online training modules in the world and will be affordable. Not only will these courses be affordable, but you can choose the modules you wish to learn as opposed to buying a complete online course.

  8. Mijail O. T. says:

    Hello Steve,

    I´ll really appreciate if you could take a look at this scenario I am facing:

    I have a webservice running on a Tomcat Server and connected to an Oracle DB.
    Data is being selected, pulled out and send through the weblogic JMS client.
    This data is marked as sent but my code is restricted by the system´s design and is not allowed to commit the transactions. This is responsibility of the Weblogic’s JTA layer.

    Here is the problem: my code is being called every minute and it is retrieving records that should already be marked.
    And worst: the Java webservice code can’t be modified by client’s request.

    How can I setup my Weblogic server to ensure the mark?

    Thanks in advance from Miami.
    M.

    1. Steve Robinson says:

      1. What type of app is the JMS FAT client ? ie a Java app using WebLogic app client framework? or web app client ie client process in a WAR? Did you write the JMS client?
      2 If you cannot commit then how do you know something is marked? Something must be used to identify track processed unique ids, ref number or similar and then persist these for future reference.

      To answer this question is quite hard without a diagram and some consultancy. There are many ways to skin a cat here and it depends on what limitations yo have and the architecture. A bit hard for a blog post.

  9. Mahendran says:

    I am trying to disable websphere global security in WAS4. I changed securityenabled” to 0 under table ejsadmin.securitycfg_table in database. I have changed sas.server.props securityenabled to false. But still security is not disabled. Receiving this error while starting wscp.sh SECJ0053E: Authorization failed “User is not granted any of the required roles: AdminRole”

    1. Steve Robinson says:

      It has been so long I have no idea. Since WAS 4.0 is very old, it is out of support form IBM for many years. Try Google, you might find something? Maybe the DB needs to be edited for a user/role combination? WAS 4 was a bit archaic, this is why WAS go much better form 5.1 as everything is xml.

  10. Ian Wilson says:

    Hi Steve,
    Is it possible to use IHS to route requests to multiple WAS servers? We’re thinking of hosting multiple FileNet system for 3 different customers, over the Internet. The 3 FileNet systems will initially share one single VM (we do plan to split them into their own individual VMs in the future).
    So we’ll have separate WAS profiles for each FileNet engine (where an engine is a WAS enterprise application), in which case we’ll be using different port assignments.
    Users would connect over the internet using subdomains, such as https://customer1.mydomain.com but they would be serviced by https://myfilenetserver:9080/Workplace. A User from a second customer would use:
    https://customer2.mydomain.com but they would be serviced by https://myfilenetserver:9081/Workplace
    So we’re considering using IHS to route web requests to the relevant WAS server. I’ve read through chapter 8 of your WAS 7 book, but that just goes through a simple one-to-one configuration. I wonder if we’d need to introduce Virtual hosts / proxies into IHS?
    Although IHS would be publicly facing, the actual WAS servers I would hope to be private.
    Is this a feasible configuration?

    1. Steve Robinson says:

      Yes it is possible. Look into Apache mod rewrite. I thin there is also mod proxy. I think you can also just use Apache as opposed to IHS. Since you r not doing workload management cross a cluster you can use either IHS or Apache.

  11. WASCON says:

    Hi Steve,

    First of all I’d like to Thank you for all the wonderful information you share on the internet thru your various websites, Blog and Books. I have always clicked on links that had references to your inputs or name.

    I have configured custom file based registry in WAS 7.0.0.11. I created a folder called fileRegistry under WebSphere7/Appserver and created users.props and groups.props files in a folder. Under Custom registry in WAS admin console, I have created Custom properties entry and set values as below. I’ve also enabled global security.
    Now my list of issues I am hoping you can help me fix though they might be very simple for you.
    1) I can login to the console using the Primary administrative username but not using any of the users in the users.props.
    2) In my attempt to disable and re-enable the security I’ve lost the custom registry realm connection I think its called and so now it does not even recognise the Primary administrative user. I dont know what file to modify to re-enter that info or what to do in console to relink it.

    But most importantly the reason I am here and need your genius brilliance is to guide me with the following information:

    I want to know if its possible to encode the passwords in users.props and use them in Custom registry and how to accomplish it.

    But my passwords in users.props are in plain text, I would like to encode it using PropFilePasswordEncoder.sh. I read several forums and tried to encode it by placing the username and password in sas.client.props file and changed prompt to properties and used the below command to encode.

    PropFilePasswordEncoder.sh sas.client.props -SAS (worked fine)

    It encoded the password, I copied the password and placed it in users.props as shown below. After I put the encoded password. I am unable to login admin console using the password.. it works fine only with the plain test. What am I doing wrong?

    users.props
    wasadmin:{XOR}…:501:502:Admin Account

    Then tried
    PropFilePasswordEncoder.sh ../fileRegistry/users.props (it told me PropFilePasswordEncoder “file_name” password_properties_list)
    So I did it with the password_properties_list option. I even created a file password_properties_list in the fileRegistry folder with the list of passwords in it another time.

    Is there a way to directly encode the password in user.props file like the usage of PropFilePasswordEncode.sh says..

    PropFilePasswordEncoder.sh users.props

    What are the properties list I should give.. where can I find the properties list..

    Please help me to fix the encoding issue. Any help to make the encoded password work is greatly appreciated.

    ——————————————————————————–
    configured Settings
    ——————————————————————————–

    usersFile=/opt/IBM/WebSphere7/AppServer/fileRegistry/users.props
    groupsFile=/opt/IBM/WebSphere/AppServer/fileRegistry.groups.props
    the users.props file contains,
    wasadmin:test123:501:502:Admin Account
    testuser:test456:503:504:Users

    the groups.props file contains,
    was:502:wasadmin:Admin group
    usergroup:504:testuser:users group

    1. Steve Robinson says:

      I will to have a go at this to try it, a bit busy at the moment, here is some information that will help….

      PropFilePasswordEncoder.sh.is used for encoding passwords in properties file ie hide the password form prying eyes. (Even though it can be decrypted on-line).

      The best way to use the utility is to make a copy of your props file and then run the encoder on it. All the test comments in the props file will be removed and you will be left with encoded properties.

      ./PropFilePasswordEncoder.sh –help
      USAGE: PropFilePasswordEncoder.sh file_name password_properties_list [-Backup/-noBackup]
      PropFilePasswordEncoder.sh file_name -SAS [-Backup/-noBackup]

      The purpose of password encoding is to deter casual observation of passwords in server configuration and property files. Use the PropFilePasswordEncoder utility to encode passwords stored in properties files. WebSphere Application Server does not provide a utility for decoding the passwords. Encoding is not sufficient to fully protect passwords. Native security is the primary mechanism for protecting passwords used in WebSphere Application Server configuration and property files.

      WebSphere Application Server contains several encoded passwords in files that are not encrypted. WebSphere Application Server provides the PropFilePasswordEncoder utility, which you can use to encode passwords. The purpose of password encoding is to deter casual observation of passwords in server configuration and property files. The PropFilePasswordEncoder utility does not encode passwords that are contained within XML or XMI files.

      To encode a password again in one of the previous files, complete the following steps:
      Procedure

      1. Access the file using a text editor and type over the encoded password. The new password is shown is no longer encoded and must be re-encoded.
      2. Use the PropFilePasswordEncoder.bat or the PropFilePasswordEncode.sh file in the profile_root/bin directory to encode the password again.

      If you are encoding files that are not SAS properties files, type PropFilePasswordEncoder “file_name” password_properties_list
      Important: When you use the PropFilePasswordEncoder utility, a prompt asks whether a backup version of the original file is required. If a backup version is required, a backup file (.bak), is created with the clear text password. Examine the results and then delete this backup file. It contains the unencrypted password. If you do not want to see this prompt, edit the PropFilePasswordEncoder utility and add the following Java system property as a parameter: -Dcom.ibm.websphere.security.util.createBackup=true or -Dcom.ibm.websphere.security.util.createBackup=false

      A true value for the Java system property creates a backup file and a false value disables the backup file.

      where:
      “file_name” is the name of the z/SAS properties file, and password_properties_list is the name of the properties to encode within the file.
      Note: Only the password should be encoded in this file using the PropFilePasswordEncoder tool.

      Use the PropFilePasswordEncoder utility to encode WebSphere Application Server password files only. The utility cannot encode passwords that are contained in XML files or other files that contain open and close tags. To change passwords in these files, use the administrative console or an assembly tool such as the Rational® Application Developer.

      Results

      If you reopen the affected files, the passwords are encoded. WebSphere Application Server does not provide a utility for decoding the passwords.

      Example:

      The following example shows how to use the PropFilePasswordEncoder tool:

      PropFilePasswordEncoder C:\WASV8\WebSphere\AppServer\profiles\AppSrv\properties
      \sas.client.props com.ibm.ssl.keyStorePassword,com.ibm.ssl.trustStorePassword

      where:

      PropFilePasswordEncoder is the name of the utility that you are running from the profile_root/profiles/profile_name/bin directory.

      C:\WASV6\WebSphere\AppServer\profiles\AppSrv\properties\sas.client.props is the name of the file that contains the passwords to encode.

      com.ibm.ssl.keyStorePassword is a password to encode in the file.

      com.ibm.ssl.trustStorePassword is a second password to encode in the file.

  12. Ram says:

    sir i am facing problem”profile path invalid”while creating new profile in
    websphere8(i used this link
    http://www.ibm.com/software/repositorymanager/V8WASDeveloperILAN)since first
    one not supported for my system,my operating system ubuntu11.04 and
    IBMRAD8.0

    1. Steve Robinson says:

      1. Ubuntu is not supported by IBM, maybe there is an error in Ubuntu. I have had it working for WAS 8 ND however.
      2. What is the profile path?
      3. Do you have permissions?
      4. What user are you using? A non root install or root install?

      Note: You can purchase from me WebSphere 8 installation How to guide for $19.

  13. prince says:

    Hi steve i have installed WAS 7ND on iseries but the server just won’t start i have tried everything can upls help this is the systemout.log thanks

    ************ Start Display Current Environment ************
    WebSphere Platform 7.0.0.21 [ND 7.0.0.21 cf211150.04] running with process name NETTELLERCELL\NETTELLERNODE\server1 and process id 050472/QEJBSVR/SERVER1
    Host Operating System is OS/400, version V6R1M0
    Java version = 1.6.0, Java Compiler = j9jit24, Java VM name = IBM J9 VM
    was.install.root = /QIBM/ProdData/WebSphere/AppServer/V7/ND
    user.install.root = /QIBM/UserData/WebSphere/AppServer/V7/ND/profiles/NETTELLER
    Java Home = /QOpenSys/QIBM/ProdData/JavaVM/jdk60/32bit/jre
    ws.ext.dirs = /QOpenSys/QIBM/ProdData/JavaVM/jdk60/32bit/lib:/QIBM/UserData/WebSphere/AppServer/V7/ND/profiles/NETTELLER/classes:/QIBM/ProdData/WebSphere/AppServer/V7/ND/classes:/QIBM/ProdData/WebSphere/AppServer/V7/ND/lib:/QIBM/ProdData/WebSphere/AppServer/V7/ND/installedChannels:/QIBM/ProdData/WebSphere/AppServer/V7/ND/lib/ext:/QIBM/ProdData/WebSphere/AppServer/V7/ND/web/help:/QIBM/ProdData/WebSphere/AppServer/V7/ND/deploytool/itp/plugins/com.ibm.etools.ejbdeploy/runtime
    Classpath = /QIBM/UserData/WebSphere/AppServer/V7/ND/profiles/NETTELLER/properties:/QIBM/ProdData/WebSphere/AppServer/V7/ND/properties:/QIBM/ProdData/WebSphere/AppServer/V7/ND/lib/startup.jar:/QIBM/ProdData/WebSphere/AppServer/V7/ND/lib/bootstrap.jar:/QIBM/ProdData/WebSphere/AppServer/V7/ND/lib/jsf-nls.jar:/QIBM/ProdData/WebSphere/AppServer/V7/ND/lib/lmproxy.jar:/QIBM/ProdData/WebSphere/AppServer/V7/ND/lib/urlprotocols.jar:/QIBM/ProdData/WebSphere/AppServer/V7/ND/deploytool/itp/batchboot.jar:/QIBM/ProdData/WebSphere/AppServer/V7/ND/deploytool/itp/batch2.jar:/QOpenSys/QIBM/ProdData/JavaVM/jdk60/32bit/lib/tools.jar
    Java Library path = /QSYS.LIB:/QSYS.LIB/QSYS2.LIB:/QSYS.LIB/QHLPSYS.LIB:/QSYS.LIB/QUSRSYS.LIB:/QSYS.LIB/QWAS7A.LIB:/QSYS.LIB/QGPL.LIB:/QSYS.LIB/QTEMP.LIB:/QOpenSys/QIBM/ProdData/JavaVM/jdk60/32bit/jre/lib/ppc:/QOpenSys/QIBM/ProdData/JavaVM/jdk60/32bit/jre/lib/ppc/classic:/QOpenSys/QIBM/ProdData/JavaVM/jdk60/32bit/jre/lib/ppc/default
    ************* End Display Current Environment *************
    [3/22/12 11:41:25:994 UTC] 00000000 ManagerAdmin I TRAS0017I: The startup trace state is *=info.
    [3/22/12 11:41:25:996 UTC] 00000000 ManagerAdmin I TRAS0111I: The message IDs that are in use are deprecated
    [3/22/12 11:41:26:217 UTC] 00000000 ModelMgr I WSVR0800I: Initializing core configuration models
    [3/22/12 11:41:27:505 UTC] 00000000 ComponentMeta I WSVR0179I: The runtime provisioning feature is disabled. All components will be started.
    [3/22/12 11:41:27:724 UTC] 00000000 ProviderTrack I com.ibm.ffdc.osgi.ProviderTracker AddingService FFDC1007I: FFDC Provider Installed: com.ibm.ffdc.EmptyProvider(silent)
    [3/22/12 11:41:27:776 UTC] 00000000 ProviderTrack I com.ibm.ffdc.osgi.ProviderTracker AddingService FFDC1007I: FFDC Provider Installed: com.ibm.ws.ffdc.impl.FfdcProvider@79b279b2
    [3/22/12 11:41:28:116 UTC] 00000000 AdminInitiali A ADMN0015I: The administration service is initialized.
    [3/22/12 11:42:01:254 UTC] 00000000 VariableExpan E WSVR0244E: An undefined HOST product variable has been encountered in the krb5Spn property of the /QIBM/UserData/WebSphere/AppServer/V7/ND/profiles/NETTELLER/config/cells/NETTELLERCELL/security.xml#KRB5_1 configuration object.
    [3/22/12 11:42:01:398 UTC] 00000000 VariableExpan E WSVR0244E: An undefined HOST product variable has been encountered in the krb5Spn property of the /QIBM/UserData/WebSphere/AppServer/V7/ND/profiles/NETTELLER/config/cells/NETTELLERCELL/security.xml#KRB5_1 configuration object.
    [3/22/12 11:42:01:417 UTC] 00000000 VariableExpan E WSVR0244E: An undefined HOST product variable has been encountered in the krb5Spn property of the /QIBM/UserData/WebSphere/AppServer/V7/ND/profiles/NETTELLER/config/cells/NETTELLERCELL/security.xml#KRB5_1 configuration object.
    [3/22/12 11:42:01:502 UTC] 00000000 VariableExpan E WSVR0244E: An undefined HOST product variable has been encountered in the krb5Spn property of the /QIBM/UserData/WebSphere/AppServer/V7/ND/profiles/NETTELLER/config/cells/NETTELLERCELL/security.xml#KRB5_1 configuration object.
    [3/22/12 11:42:01:504 UTC] 00000000 VariableExpan E WSVR0244E: An undefined HOST product variable has been encountered in the krb5Spn property of the /QIBM/UserData/WebSphere/AppServer/V7/ND/profiles/NETTELLER/config/cells/NETTELLERCELL/security.xml#KRB5_1 configuration object.
    [3/22/12 11:42:01:513 UTC] 00000000 VariableExpan E WSVR0244E: An undefined HOST product variable has been encountered in the krb5Spn property of the /QIBM/UserData/WebSphere/AppServer/V7/ND/profiles/NETTELLER/config/cells/NETTELLERCELL/security.xml#KRB5_1 configuration object.
    [3/22/12 11:42:01:515 UTC] 00000000 VariableExpan E WSVR0244E: An undefined HOST product variable has been encountered in the krb5Spn property of the /QIBM/UserData/WebSphere/AppServer/V7/ND/profiles/NETTELLER/config/cells/NETTELLERCELL/security.xml#KRB5_1 configuration object.
    [3/22/12 11:42:01:523 UTC] 00000000 VariableExpan E WSVR0244E: An undefined HOST product variable has been encountered in the krb5Spn property of the /QIBM/UserData/WebSphere/AppServer/V7/ND/profiles/NETTELLER/config/cells/NETTELLERCELL/security.xml#KRB5_1 configuration object.
    [3/22/12 11:42:01:887 UTC] 00000000 VariableExpan E WSVR0244E: An undefined HOST product variable has been encountered in the krb5Spn property of the /QIBM/UserData/WebSphere/AppServer/V7/ND/profiles/NETTELLER/config/cells/NETTELLERCELL/security.xml#KRB5_1 configuration object.
    [3/22/12 11:42:01:926 UTC] 00000000 PluginConfigS I PLGC0057I: The plug-in configuration service started successfully.
    [3/22/12 11:42:02:160 UTC] 00000000 VariableExpan E WSVR0244E: An undefined HOST product variable has been encountered in the krb5Spn property of the /QIBM/UserData/WebSphere/AppServer/V7/ND/profiles/NETTELLER/config/cells/NETTELLERCELL/security.xml#KRB5_1 configuration object.
    [3/22/12 11:42:02:192 UTC] 00000000 FileRepositor A ADMR0010I: Document cells/NETTELLERCELL/nodes/NETTELLERNODE/node-metadata.properties is modified.
    [3/22/12 11:42:34:712 UTC] 00000000 SSLComponentI I CWPKI0001I: SSL service is initializing the configuration
    [3/22/12 11:42:34:731 UTC] 00000000 WSKeyStore W CWPKI0041W: One or more key stores are using the default password.
    [3/22/12 11:42:34:750 UTC] 00000000 SSLConfigMana I CWPKI0027I: Disabling default hostname verification for HTTPS URL connections.
    [3/22/12 11:42:34:766 UTC] 00000000 SSLDiagnostic I CWPKI0014I: The SSL component’s FFDC Diagnostic Module com.ibm.ws.ssl.core.SSLDiagnosticModule registered successfully: true.
    [3/22/12 11:42:34:772 UTC] 00000000 SSLComponentI I CWPKI0002I: SSL service initialization completed successfully
    [3/22/12 11:42:01:394 UTC] 00000000 FfdcProvider W com.ibm.ws.ffdc.impl.FfdcProvider logIncident FFDC1003I: FFDC Incident emitted on /QIBM/UserData/WebSphere/AppServer/V7/ND/profiles/NETTELLER/logs/ffdc/server1_72c072c_12.03.22_11.42.01.3301033540807556248842.txt com.ibm.ws.security.auth.ContextManagerImpl.getInvocationSubject 1664
    [3/22/12 11:42:01:399 UTC] 00000000 FfdcProvider I FFDC provider error
    com.ibm.wsspi.runtime.variable.UndefinedVariableException: Undefined variable HOST
    at com.ibm.ws.runtime.component.VariableMapImpl.expand(VariableMapImpl.java:373)
    at com.ibm.ws.runtime.component.VariableMapImpl.expand(VariableMapImpl.java:325)
    at com.ibm.ws.runtime.config.AbstractConfigObject.getString(AbstractConfigObject.java:42)
    at com.ibm.ws.security.config.SecurityConfigManagerImpl.getString(SecurityConfigManagerImpl.java:929)
    at com.ibm.ws.security.config.GenericConfigHelperImpl.getString(GenericConfigHelperImpl.java:277)
    at com.ibm.ws.security.config.AuthMechanismConfigImpl.getString(AuthMechanismConfigImpl.java:1051)
    at com.ibm.ws.security.config.CSIv2ConfigImpl.initializeOnServer(CSIv2ConfigImpl.java:715)
    at com.ibm.ws.security.config.CSIv2ConfigImpl.initialize(CSIv2ConfigImpl.java:1101)
    at com.ibm.ws.security.config.CSIv2ConfigImpl.(CSIv2ConfigImpl.java:93)
    at com.ibm.ws.security.config.SecurityConfigObjectFactoryImpl.createCSIv2Config(SecurityConfigObjectFactoryImpl.java:116)
    at com.ibm.ws.security.config.SecurityObjectLocator.do_getCSIv2Config(SecurityObjectLocator.java:846)
    at com.ibm.ws.security.config.SecurityObjectLocator.getCSIv2Config(SecurityObjectLocator.java:876)
    at com.ibm.ws.security.config.SecurityObjectLocator.getCSIv2Config(SecurityObjectLocator.java:867)
    at com.ibm.ws.security.auth.ContextManagerImpl.getProperty(ContextManagerImpl.java:2077)
    at com.ibm.ws.security.auth.ContextManagerImpl.getProperty(ContextManagerImpl.java:2116)
    at com.ibm.websphere.security.WSSecurityException.printStackTrace(WSSecurityException.java:230)
    at com.ibm.ffdc.util.formatting.IncidentReportHeader.writeTo(IncidentReportHeader.java:77)
    at com.ibm.ffdc.util.provider.IncidentStream.write(IncidentStream.java:204)
    at com.ibm.ffdc.util.provider.IncidentLogger.writeHeader(IncidentLogger.java:70)
    at com.ibm.ffdc.util.provider.IncidentLogger.writeIncidentTo(IncidentLogger.java:61)
    at com.ibm.ws.ffdc.impl.FfdcProvider.logIncident(FfdcProvider.java:206)
    at com.ibm.ws.ffdc.impl.FfdcProvider.logIncident(FfdcProvider.java:135)
    at com.ibm.ffdc.util.provider.FfdcProvider.log(FfdcProvider.java:259)
    at com.ibm.ws.ffdc.impl.FfdcProvider.log(FfdcProvider.java:148)
    at com.ibm.ffdc.util.provider.IncidentEntry.log(IncidentEntry.java:96)
    at com.ibm.ffdc.util.provider.Ffdc.log(Ffdc.java:90)
    at com.ibm.ws.ffdc.FFDCFilter.processException(FFDCFilter.java:84)
    at com.ibm.ws.management.util.SecurityHelper.getInvocationSubject(SecurityHelper.java:525)
    at com.ibm.ws.management.util.SecurityHelper.retrieveSubject(SecurityHelper.java:444)
    at com.ibm.ws.management.event.ListenerInfo.(ListenerInfo.java:74)
    at com.ibm.ws.management.event.LocalNotificationService.createListenerInfo(LocalNotificationService.java:198)
    at com.ibm.ws.management.event.LocalNotificationService.addListenerInternal(LocalNotificationService.java:193)
    at com.ibm.ws.management.event.ClientNotificationService.addClientListenerInternal(ClientNotificationService.java:125)
    at com.ibm.ws.management.event.ClientNotificationService.addNotificationListenerExtended(ClientNotificationService.java:113)
    at com.ibm.ws.management.AdminServiceImpl.addNotificationListenerExtended(AdminServiceImpl.java:1663)
    at com.ibm.ws.management.status.StatusCacheClient.listenForCacheReportNotifications(StatusCacheClient.java:191)
    at com.ibm.ws.management.status.StatusCacheClient.(StatusCacheClient.java:81)
    at com.ibm.ws.management.status.StatusCacheClientProxy.(StatusCacheClientProxy.java:64)
    at com.ibm.ws.management.status.StatusCacheFactory.(StatusCacheFactory.java:63)
    at java.lang.J9VMInternals.initializeImpl(Native Method)
    at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
    at com.ibm.ws.management.component.AdminImpl.initialize(AdminImpl.java:605)
    at com.ibm.ws.runtime.component.ContainerHelper.initWsComponent(ContainerHelper.java:1191)
    at com.ibm.ws.runtime.component.ContainerHelper.initializeComponent(ContainerHelper.java:1098)
    at com.ibm.ws.runtime.component.ContainerHelper.initializeComponents(ContainerHelper.java:927)
    at com.ibm.ws.runtime.component.ContainerImpl.initializeComponents(ContainerImpl.java:776)
    at com.ibm.ws.runtime.component.ContainerImpl.initializeComponents(ContainerImpl.java:750)
    at com.ibm.ws.runtime.component.ServerImpl.initialize(ServerImpl.java:332)
    at com.ibm.ws.runtime.WsServerImpl.bootServerContainer(WsServerImpl.java:280)
    at com.ibm.ws.runtime.WsServerImpl.start(WsServerImpl.java:214)
    at com.ibm.ws.runtime.WsServerImpl.main(WsServerImpl.java:666)
    at com.ibm.ws.runtime.WsServer.main(WsServer.java:59)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
    at java.lang.reflect.Method.invoke(Method.java:611)
    at com.ibm.wsspi.bootstrap.WSLauncher.launchMain(WSLauncher.java:213)
    at com.ibm.wsspi.bootstrap.WSLauncher.main(WSLauncher.java:93)
    at com.ibm.wsspi.bootstrap.WSLauncher.run(WSLauncher.java:74)
    at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
    at java.lang.reflect.Method.invoke(Method.java:611)
    at org.eclipse.core.launcher.Main.invokeFramework(Main.java:340)
    at org.eclipse.core.launcher.Main.basicRun(Main.java:282)
    at org.eclipse.core.launcher.Main.run(Main.java:981)
    at com.ibm.wsspi.bootstrap.WSPreLauncher.launchEclipse(WSPreLauncher.java:341)
    at com.ibm.wsspi.bootstrap.WSPreLauncher.main(WSPreLauncher.java:111)

    [3/22/12 11:42:02:188 UTC] 00000000 DMAdapter I com.ibm.ws.ffdc.impl.DMAdapter getAnalysisEngine FFDC1009I: Analysis Engine using data base: /QIBM/UserData/WebSphere/AppServer/V7/ND/profiles/NETTELLER/properties/logbr/ffdc/adv/ffdcdb.xml
    [3/22/12 11:42:02:192 UTC] 00000000 FfdcProvider W com.ibm.ws.ffdc.impl.FfdcProvider logIncident FFDC1003I: FFDC Incident emitted on /QIBM/UserData/WebSphere/AppServer/V7/ND/profiles/NETTELLER/logs/ffdc/server1_72c072c_12.03.22_11.42.02.1627628144288063719552.txt com.ibm.ws.management.connector.util.SecurityHelper.getAuditUserName 762
    [3/22/12 11:42:34:794 UTC] 00000000 DiagnosticCon I com.ibm.wsspi.rasdiag.DiagnosticConfigHome setStateCollectionSpec RASD0012I: Updating State Collection Spec from Uninitialized Value to .*:.*=0
    [3/22/12 11:43:08:460 UTC] 00000000 ProcessProper W There is a problem to get either virtual host or local host
    [3/22/12 11:43:08:485 UTC] 00000000 ContainerHelp E WSVR0501E: Error creating component com.ibm.ws.cluster.runtime.ProcessRuntimeImpl
    java.lang.NoClassDefFoundError: com.ibm.websphere.cluster.topography.DescriptionManagerFactory (initialization failure)
    at java.lang.J9VMInternals.initialize(J9VMInternals.java:140)
    at com.ibm.ws.cluster.runtime.ProcessRuntimeImpl.initialize(ProcessRuntimeImpl.java:366)
    at com.ibm.ws.runtime.component.ContainerHelper.initWsComponent(ContainerHelper.java:1191)
    at com.ibm.ws.runtime.component.ContainerHelper.initializeComponent(ContainerHelper.java:1098)
    at com.ibm.ws.runtime.component.ContainerHelper.initializeComponents(ContainerHelper.java:900)
    at com.ibm.ws.runtime.component.ContainerImpl.initializeComponents(ContainerImpl.java:776)
    at com.ibm.ws.runtime.component.ContainerImpl.initializeComponents(ContainerImpl.java:750)
    at com.ibm.ws.runtime.component.ServerImpl.initialize(ServerImpl.java:332)
    at com.ibm.ws.runtime.WsServerImpl.bootServerContainer(WsServerImpl.java:280)
    at com.ibm.ws.runtime.WsServerImpl.start(WsServerImpl.java:214)
    at com.ibm.ws.runtime.WsServerImpl.main(WsServerImpl.java:666)
    at com.ibm.ws.runtime.WsServer.main(WsServer.java:59)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
    at java.lang.reflect.Method.invoke(Method.java:611)
    at com.ibm.wsspi.bootstrap.WSLauncher.launchMain(WSLauncher.java:213)
    at com.ibm.wsspi.bootstrap.WSLauncher.main(WSLauncher.java:93)
    at com.ibm.wsspi.bootstrap.WSLauncher.run(WSLauncher.java:74)
    at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
    at java.lang.reflect.Method.invoke(Method.java:611)
    at org.eclipse.core.launcher.Main.invokeFramework(Main.java:340)
    at org.eclipse.core.launcher.Main.basicRun(Main.java:282)
    at org.eclipse.core.launcher.Main.run(Main.java:981)
    at com.ibm.wsspi.bootstrap.WSPreLauncher.launchEclipse(WSPreLauncher.java:341)
    at com.ibm.wsspi.bootstrap.WSPreLauncher.main(WSPreLauncher.java:111)
    Caused by: java.lang.IllegalStateException: java.lang.NullPointerException
    at com.ibm.ws.util.ImplFactory.loadImplFromClass(ImplFactory.java:354)
    at com.ibm.ws.util.ImplFactory.loadImplFromKey(ImplFactory.java:328)
    at com.ibm.ws.util.ImplFactory.loadImplFromKey(ImplFactory.java:332)
    at com.ibm.ws.wlm.Factory$4.run(Factory.java:141)
    at java.security.AccessController.doPrivileged(AccessController.java:251)
    at com.ibm.ws.wlm.Factory.loadImpl(Factory.java:139)
    at com.ibm.websphere.cluster.topography.DescriptionManagerFactory.(DescriptionManagerFactory.java:50)
    at java.lang.J9VMInternals.initializeImpl(Native Method)
    at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
    at com.ibm.ws.cluster.selection.AdvisorMediatorA.(AdvisorMediatorA.java:60)
    at java.lang.J9VMInternals.initializeImpl(Native Method)
    at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
    at java.lang.J9VMInternals.initialize(J9VMInternals.java:167)
    at java.lang.J9VMInternals.newInstanceImpl(Native Method)
    at java.lang.Class.newInstance(Class.java:1345)
    at com.ibm.ws.util.ImplFactory.loadImplFromClass(ImplFactory.java:349)
    at com.ibm.ws.util.ImplFactory.loadImplFromKey(ImplFactory.java:328)
    at com.ibm.ws.util.ImplFactory.loadImplFromKey(ImplFactory.java:332)
    at com.ibm.ws.wlm.Factory$4.run(Factory.java:141)
    at java.security.AccessController.doPrivileged(AccessController.java:251)
    at com.ibm.ws.wlm.Factory.loadImpl(Factory.java:139)
    at com.ibm.wsspi.cluster.monitor.AdvisorFactory.(AdvisorFactory.java:47)
    at java.lang.J9VMInternals.initializeImpl(Native Method)
    at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
    at com.ibm.ws.cluster.runtime.WLMDiagnosticModule.ffdcDumpDefaultAdvisorMediator(WLMDiagnosticModule.java:367)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
    at java.lang.reflect.Method.invoke(Method.java:611)
    at com.ibm.ws.ffdc.DiagnosticModule.getDataForDirective(DiagnosticModule.java:305)
    at com.ibm.ws.ffdc.DiagnosticModule.getDataForDirectives(DiagnosticModule.java:279)
    at com.ibm.ws.ffdc.DiagnosticModule.dumpComponentData(DiagnosticModule.java:144)
    at com.ibm.ws.ffdc.impl.DMAdapter.processDM(DMAdapter.java:123)
    at com.ibm.ws.ffdc.impl.DMAdapter.formatTo(DMAdapter.java:114)
    at com.ibm.ffdc.util.provider.IncidentLogger.writeIncidentTo(IncidentLogger.java:63)
    at com.ibm.ws.ffdc.impl.FfdcProvider.logIncident(FfdcProvider.java:206)
    at com.ibm.ws.ffdc.impl.FfdcProvider.logIncident(FfdcProvider.java:135)
    at com.ibm.ffdc.util.provider.FfdcProvider.log(FfdcProvider.java:259)
    at com.ibm.ws.ffdc.impl.FfdcProvider.log(FfdcProvider.java:148)
    at com.ibm.ffdc.util.provider.IncidentEntry.log(IncidentEntry.java:96)
    at com.ibm.ffdc.util.provider.Ffdc.log(Ffdc.java:90)
    at com.ibm.ws.ffdc.FFDCFilter.processException(FFDCFilter.java:114)
    at com.ibm.ws.cluster.ProcessProperties.(ProcessProperties.java:287)
    at com.ibm.ws.cluster.ProcessProperties.(ProcessProperties.java:240)
    at java.lang.J9VMInternals.initializeImpl(Native Method)
    at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
    at com.ibm.ws.cluster.runtime.ProcessRuntimeImpl.initialize(ProcessRuntimeImpl.java:307)
    … 31 more
    Caused by: java.lang.NullPointerException
    at com.ibm.ws.cluster.WLMCustomPropertyUtility.getBBCallbacksEnableWLMThreads(WLMCustomPropertyUtility.java:515)
    at com.ibm.ws.cluster.propagation.bulletinboard.BBDescriptionManager.(BBDescriptionManager.java:166)
    at java.lang.J9VMInternals.newInstanceImpl(Native Method)
    at java.lang.Class.newInstance(Class.java:1345)
    at com.ibm.ws.util.ImplFactory.loadImplFromClass(ImplFactory.java:349)
    … 77 more

    [3/22/12 11:43:08:509 UTC] 00000000 WsServerImpl E WSVR0100W: An error occurred initializing, server1 [class com.ibm.ws.runtime.component.ServerImpl]
    java.lang.NoClassDefFoundError: com.ibm.websphere.cluster.topography.DescriptionManagerFactory (initialization failure)
    at java.lang.J9VMInternals.initialize(J9VMInternals.java:140)
    at com.ibm.ws.cluster.service.ClusterMemberServiceImpl.(ClusterMemberServiceImpl.java:134)
    at java.lang.J9VMInternals.newInstanceImpl(Native Method)
    at java.lang.Class.newInstance(Class.java:1345)
    at com.ibm.ws.runtime.component.ContainerHelper.initializeComponent(ContainerHelper.java:1059)
    at com.ibm.ws.runtime.component.ContainerHelper.initializeComponents(ContainerHelper.java:900)
    at com.ibm.ws.runtime.component.ContainerImpl.initializeComponents(ContainerImpl.java:776)
    at com.ibm.ws.runtime.component.ContainerImpl.initializeComponents(ContainerImpl.java:750)
    at com.ibm.ws.runtime.component.ServerImpl.initialize(ServerImpl.java:332)
    at com.ibm.ws.runtime.WsServerImpl.bootServerContainer(WsServerImpl.java:280)
    at com.ibm.ws.runtime.WsServerImpl.start(WsServerImpl.java:214)
    at com.ibm.ws.runtime.WsServerImpl.main(WsServerImpl.java:666)
    at com.ibm.ws.runtime.WsServer.main(WsServer.java:59)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
    at java.lang.reflect.Method.invoke(Method.java:611)
    at com.ibm.wsspi.bootstrap.WSLauncher.launchMain(WSLauncher.java:213)
    at com.ibm.wsspi.bootstrap.WSLauncher.main(WSLauncher.java:93)
    at com.ibm.wsspi.bootstrap.WSLauncher.run(WSLauncher.java:74)
    at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
    at java.lang.reflect.Method.invoke(Method.java:611)
    at org.eclipse.core.launcher.Main.invokeFramework(Main.java:340)
    at org.eclipse.core.launcher.Main.basicRun(Main.java:282)
    at org.eclipse.core.launcher.Main.run(Main.java:981)
    at com.ibm.wsspi.bootstrap.WSPreLauncher.launchEclipse(WSPreLauncher.java:341)
    at com.ibm.wsspi.bootstrap.WSPreLauncher.main(WSPreLauncher.java:111)
    Caused by: java.lang.IllegalStateException: java.lang.NullPointerException
    at com.ibm.ws.util.ImplFactory.loadImplFromClass(ImplFactory.java:354)
    at com.ibm.ws.util.ImplFactory.loadImplFromKey(ImplFactory.java:328)
    at com.ibm.ws.util.ImplFactory.loadImplFromKey(ImplFactory.java:332)
    at com.ibm.ws.wlm.Factory$4.run(Factory.java:141)
    at java.security.AccessController.doPrivileged(AccessController.java:251)
    at com.ibm.ws.wlm.Factory.loadImpl(Factory.java:139)
    at com.ibm.websphere.cluster.topography.DescriptionManagerFactory.(DescriptionManagerFactory.java:50)
    at java.lang.J9VMInternals.initializeImpl(Native Method)
    at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
    at com.ibm.ws.cluster.selection.AdvisorMediatorA.(AdvisorMediatorA.java:60)
    at java.lang.J9VMInternals.initializeImpl(Native Method)
    at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
    at java.lang.J9VMInternals.initialize(J9VMInternals.java:167)
    at java.lang.J9VMInternals.newInstanceImpl(Native Method)
    at java.lang.Class.newInstance(Class.java:1345)
    at com.ibm.ws.util.ImplFactory.loadImplFromClass(ImplFactory.java:349)
    at com.ibm.ws.util.ImplFactory.loadImplFromKey(ImplFactory.java:328)
    at com.ibm.ws.util.ImplFactory.loadImplFromKey(ImplFactory.java:332)
    at com.ibm.ws.wlm.Factory$4.run(Factory.java:141)
    at java.security.AccessController.doPrivileged(AccessController.java:251)
    at com.ibm.ws.wlm.Factory.loadImpl(Factory.java:139)
    at com.ibm.wsspi.cluster.monitor.AdvisorFactory.(AdvisorFactory.java:47)
    at java.lang.J9VMInternals.initializeImpl(Native Method)
    at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
    at com.ibm.ws.cluster.runtime.WLMDiagnosticModule.ffdcDumpDefaultAdvisorMediator(WLMDiagnosticModule.java:367)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
    at java.lang.reflect.Method.invoke(Method.java:611)
    at com.ibm.ws.ffdc.DiagnosticModule.getDataForDirective(DiagnosticModule.java:305)
    at com.ibm.ws.ffdc.DiagnosticModule.getDataForDirectives(DiagnosticModule.java:279)
    at com.ibm.ws.ffdc.DiagnosticModule.dumpComponentData(DiagnosticModule.java:144)
    at com.ibm.ws.ffdc.impl.DMAdapter.processDM(DMAdapter.java:123)
    at com.ibm.ws.ffdc.impl.DMAdapter.formatTo(DMAdapter.java:114)
    at com.ibm.ffdc.util.provider.IncidentLogger.writeIncidentTo(IncidentLogger.java:63)
    at com.ibm.ws.ffdc.impl.FfdcProvider.logIncident(FfdcProvider.java:206)
    at com.ibm.ws.ffdc.impl.FfdcProvider.logIncident(FfdcProvider.java:135)
    at com.ibm.ffdc.util.provider.FfdcProvider.log(FfdcProvider.java:259)
    at com.ibm.ws.ffdc.impl.FfdcProvider.log(FfdcProvider.java:148)
    at com.ibm.ffdc.util.provider.IncidentEntry.log(IncidentEntry.java:96)
    at com.ibm.ffdc.util.provider.Ffdc.log(Ffdc.java:90)
    at com.ibm.ws.ffdc.FFDCFilter.processException(FFDCFilter.java:114)
    at com.ibm.ws.cluster.ProcessProperties.(ProcessProperties.java:287)
    at com.ibm.ws.cluster.ProcessProperties.(ProcessProperties.java:240)
    at java.lang.J9VMInternals.initializeImpl(Native Method)
    at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
    at com.ibm.ws.cluster.runtime.ProcessRuntimeImpl.initialize(ProcessRuntimeImpl.java:307)
    at com.ibm.ws.runtime.component.ContainerHelper.initWsComponent(ContainerHelper.java:1191)
    at com.ibm.ws.runtime.component.ContainerHelper.initializeComponent(ContainerHelper.java:1098)
    … 29 more
    Caused by: java.lang.NullPointerException
    at com.ibm.ws.cluster.WLMCustomPropertyUtility.getBBCallbacksEnableWLMThreads(WLMCustomPropertyUtility.java:515)
    at com.ibm.ws.cluster.propagation.bulletinboard.BBDescriptionManager.(BBDescriptionManager.java:166)
    at java.lang.J9VMInternals.newInstanceImpl(Native Method)
    at java.lang.Class.newInstance(Class.java:1345)
    at com.ibm.ws.util.ImplFactory.loadImplFromClass(ImplFactory.java:349)
    … 77 more

    1. Steve Robinson says:

      I an unsure about iseries. i guess it was installed wrong or permissions. The docs should be very clear for iseries. Consult he IBM information Centre for WAS 7.

      1. princefawzy says:

        thanks i have resolved it.

        1. Steve Robinson says:

          What was the issue?

        2. Steve Robinson says:

          What was the issue? I think it would be good to see the answer so I can know how yo solved it.

          Thanks

          1. entwisi says:

            Looks to me that the HOST var wasn;t set correctly or its value wasn’t accessible. I’m betting that WAS FFDC uses HOST in some way to write data out. In my experience WAS is extremely fussy when it comes to not being able to write its logs… try altering any of the core log files perms (Sys*, native*) and it will fail often with little evidence.

        3. kumar says:

          Hello,

          I’m running into the same issue. Would you mind letting me know how you resolved it?

          Thanks.

  14. Ritesh Singh says:

    Hello Steve,

    Please help me about below issue.

    # ps -ef | grep java
    root 21074 21055 0 Mar 22 ? 3:43 /opt/IBM/SCM/client/../_jvm/bin/../bin/sparc/native_threads/java -Xint -Xmx128m
    root 8650 8646 0 20:18:38 ? 0:05 /opt/WebSphere/AppServer51/java/bin/java -Xbootclasspath/p:/opt/WebSphere/AppSe
    sso 24318 1 0 07:30:13 ? 0:41 /opt/WebSphere/AppServer51/java/bin/java -server -Dwas.status.socket=27065 -Xbo
    root 22870 1 0 Mar 27 ? 0:05 /opt/WebSphere/AppServer51/java/bin/java -Xbootclasspath/p:/opt/WebSphere/AppSe
    root 27779 23750 0 09:33:21 pts/11 0:00 grep java
    wcsuser 17245 1 3 20:27:03 ? 315:43 /opt/WebSphere/AppServer51/java/bin/java -server -Dwas.status.socket=37679 -Xbo
    root 19164 1 0 Mar 28 ? 0:05 /opt/WebSphere/AppServer51/java/bin/java -Xbootclasspath/p:/opt/WebSphere/AppSe
    root 13326 1 0 18:53:27 ? 6:27 /opt/WebSphere/AppServer51/java/bin/java -Xbootclasspath/p:/opt/WebSphere/AppSe
    wcsuser 1811 1 0 18:42:22 ? 8:36 /opt/WebSphere/AppServer51/java/bin/java -server -Dwas.status.socket=16399 -Xbo
    eserve 25441 1 0 06:01:39 ? 6:19 /opt/WebSphere/AppServer51/java/bin/java -server -Dwas.status.socket=18509 -Xbo
    ssoval 14482 1 0 Jan 10 ? 339:06 /opt/WebSphere/AppServer51/java/bin/java -Xbootclasspath/p:/opt/WebSphere/AppSe
    root 22043 1 0 Oct 20 ? 15:09 /opt/WebSphere/AppServerBI51/java/bin/java -Xbootclasspath/p:/opt/WebSphere/App
    root 13559 1 0 Oct 25 ? 1192:07 /opt/WebSphere/AppServerBI51/java/bin/java -server -Dwas.status.socket=20802 -X
    #

    I want to know why this root process are running. We should see only 7 process .

    How to identify this looking at the pid format.

    1. Steve Robinson says:

      Maybe someone has started other instances as root?

  15. Ritesh Singh says:

    Hello Stave,

    How can i see dummy as root and how can i delete the process.

    Thanks
    Ritesh Singh

  16. WASCON says:

    Hi Steve,

    I have a query that might be really simple for you to answer but I have spent two entire days looking for a straight forward simple answer on the internet and none that answered to what I needed to know. I did find quite a few sites/IBM help sites that talked about it.

    I am really hoping you will have a quick answer for me that might apply to my need.

    Scenario is that we have applications that we update using jython scripts…a combination of xyz.sh script that makes call to abc.py.

    It does an export backup of the current ear, then proceeds to update install the ear for the app, syncs nodes and at the end does a ripplestart.

    Sometimes, a few of our apps on update change their mapping of virtual host to default host which could be due to ear app provided to us by the developer team.

    Anyways, I want to just ensure that the vhost is reapplied and binded to the correct vhost even if it isnt changed. The initial setupear.ini file has the name of the vhost in it passed as a sys argument as vhostname.

    Output when the script is running:
    WASX7303I: The following options are passed to the scripting environment and are available as arguments that are stored in the argv variable: “[test, /app_install/install/websphere/test_was.02.001.090.ear, test_clstr, dds]”
    Virtual HostName is dds

    In the py script, I want to use the vhostname value (in this case dds) to reapply/update/modify the virtual host for whichever application update deploy being done.

    Currently this is what I am trying: ( code below is a snippet of the script being run)

    # Update Virtual Host

    vhostpath = “/VirtualHost:” + vhostname + “/”
    vhostid = AdminConfig.getid(vhostpath)
    AdminConfig.modify(vhostid, vhostname)
    AdminConfig.save()

    (where vhostname is the name “dds” of the virtual host that was passed as a sys variable. vhostname=dds or any of the virtual host names that relate to the application being updated)

    This is the error i get. Is there a simple and functional way of doing this? your help will be greatly appreciated.

    Saving updates

    Saving updates done.
    WASX7017E: Exception received while running file “/app_install/install/websphere/update.py”; exception information: java.lang.IllegalArgumentException: java.lang.IllegalArgumentException: WASX7480E: “dds” found instead of expected [.
    [-operation update -contents /app_install/install/websphere/test_was.02.001.090.ear]
    ^

    Thanks in advance Steve.

    Even tried the following: (Do I need to pass alias info? Cant it be as simple as modifying the virtual host name mapped to the application?)

    modtovh1 = ["test", 'xyz.war,WEB-INF/web.xml', 'default_host']
    modtovh = [modtovh1]
    option = [["test", "xyz.war,WEB-INF/web.xml", "dds"]]
    mapVHOption = ["-MapWebModToVH", option]
    AdminApp.edit(‘test’, mapVHOption)

    1. Steve Robinson says:

      I have some code, that you can pull part, as I am too busy on finalizing my training content right now.

      def installVirtualHostMethod ( virtualHostList ):
      
              cells = AdminConfig.list("Cell" )
              cell= (wsadminToList(cells))[0]
      
              vHosts = AdminConfig.list("VirtualHost", cell )
              vHosts = wsadminToList(vHosts)
      
              for virtualHostDetail in virtualHostList:
                      vHostFound = "0"
      
                      vHostName = virtualHostDetail[0]
                      vHostPort = virtualHostDetail[1]
      		try:
      			_excp_ = 0
      			vHostNode = virtualHostDetail[2]
      			result = len(vHostNode)
      			_excp_ = 0 #reset (in case of nested exceptions)
      		except:
      			_type_, _value_, _tbck_ = sys.exc_info()
      			result = str(_value_)
      			_excp_ = 1
      		#endTry
      		if (_excp_ ):
      			print "---> No Virtual host Node vHostNode, setting to:*."
      			vHostNode = "*"
      		#endIf
      
                      if (len(vHostNode) == 0):
                              print "---> No Virtual host Node vHostNode (zero length), setting to:*."
                              vHostNode = "*"
                      #endIf 
      
                      for vHost in vHosts:
                              vhName = AdminConfig.showAttribute(vHost, "name" )
      
                              if (vhName == vHostName):
      
                                      print "---> Virtual Host already exists: "+vHostName
                                      print "---> Checking Port: ", vHostPort
                                      vHostFound = "1"
                                      vPortFoundName = "0"
      
                                      vh_host = AdminConfig.getid("/VirtualHost:"+vhName+"/" )
                                      # get all the aliases for this virtual host
                                      allAliases = AdminConfig.showAttribute(vh_host, "aliases" )
                                      allAliases = wsadminToList(allAliases)
                                      for vAliasList in allAliases:
                                              eachAtt = AdminConfig.show(vAliasList )
      					eachAtt = eachAtt.split("\n")
                                              # get the port number each attributes
                                              myPortNumber = wsadminToList(eachAtt[1])[1]
                                              myHostName = wsadminToList(eachAtt[0])[1]
                                              if (str(myPortNumber) == str(vHostPort) and str(myHostName) == str(vHostNode)):
                                                      print "---> Alias already exists: ",vHostPort," "+myHostName
                                                      vPortFoundName = "1"
                                                      break
                                              #endIf 
      
                                      #endFor
                                      if (vPortFoundName == "0"):
      					print "     Creating aliases for Virtual Host: "+vHostName+" Port: ",vHostPort," HostName: "+vHostNode+" ......"
      					AdminConfig.modify(vh_host, [["aliases", [[["port", vHostPort], ["hostname", vHostNode]]]]] )
      					print "     Done."
      				#endIf
                              #endIf
                      #endFor
                      #if virtual host not found then create it.
                      if (vHostFound == "0"):
                              print "---> Creating Virtual Host "+vHostName+" with Port ",vHostPort," HostName "+vHostNode+" ......"
                              name_att = ["name", vHostName]
                              attributes = [name_att]
                              vHostAttr = AdminConfig.create("VirtualHost", cell, attributes )
                              AdminConfig.modify(vHostAttr, [["aliases", [[["port", vHostPort], ["hostname", vHostNode]]]]] )
      
                              print "     Done."
      
                              print "     Updating the MIMEType for : "+vHostName+" ......"
                              vHostObj = AdminConfig.showAttribute(vHostAttr, "mimeTypes" )
      			vHostObj = wsadminToList(vHostObj)
      
      			myExten = ""
                              for li in vHostObj:
      				mimeTypes = wsadminToList(li)
      				for el in mimeTypes:
      					mimeEntry = AdminConfig.show(el )
      					mimeEntry = mimeEntry.split("\n")
      
      					if (wsadminToList(mimeEntry[1])[1] == "text/plain"):
      
      						myMimeEntry = wsadminToList(mimeEntry[1])[1]
      						myExten = wsadminToList(mimeEntry[0])[1]
      						myExten = myExten+";htc"
      						AdminConfig.remove(el )
      
      					#endIf
      				#endFor
                                      #endIf
                              #endFor
                              AdminConfig.modify(vHostAttr, [["mimeTypes", [[["type", "text/plain"], ["extensions", myExten]]]]] )
                              # Re list the vHosts, thus adding this one to the list
                              vHosts = AdminConfig.list("VirtualHost", cell )
                              vHosts = wsadminToList(vHosts)
                              print "     Done."
                      #endIf
              #endFor
      #endDef 
      
      #--------------------------------------------------------------
      # Remove Virtual Host
      #--------------------------------------------------------------
      def rmoveVirtualHostMethod ( virtualHostList ):
      
              print "---> Removing specified Virtual Hosts ......"
              # Loop through and delete all the virtual hosts in list supplied.
      
              for virtualHostDetail in virtualHostList:
                      virtualHostName = virtualHostDetail[0]
                      virtualHostArr = virtualHostDetail[1]
                      existing_host = AdminConfig.getid("/Cell:"+cellName+"/VirtualHost:"+virtualHostName+"/" )
      
                      if (len(existing_host) > 0):
      
                              print "---> Removing existing virtualhost: "+virtualHostName+" ......"
      
                              AdminConfig.remove(existing_host )
      
                              print "     done!"
                      #endIf
              #endFor
      #endDef
      
      1. WASCON says:

        Thanks Steve. Appreciate you taking time out from your busy schedule to respond. I will see what I can do with the code provided by you and which part is the possible solution to my query.

        Thanks again! Good luck with your endeavors!

        1. WASCON says:

          Steve,

          In continuation of my query earlier…the script you provided earlier wasnt any help as it about creating and adding a virtual host.

          What I am trying to do is the same thing what we would do in the Admin console. Applications -> Enterprise Applications -> Application > Virtual Host

          Then we would select an existing Virtual host from drop down and bind it to the app.

          We already have all the required Virtual Hosts and their aliases existing.

          I just want to be able to implicitly bind the virtual host to the application again during the execution of an application update.

          option = [["atp", "abc.war,WEB-INF/web.xml", "newVH"]]

          mapVHOption = ["-MapWebModToVH", option]

          print AdminApp.edit(“abc”, mapVHOption)

          Where abc is the App name. Now there could be one or multiple Web Module’s that I would want to bind the virtual host to. Do I need to specify the abc.war? On testing the above script in wsadmin, I still get an error as follows:

          WASX7015E: Exception running command: “AdminApp.edit(“abc”, mapVHOption)”; exception information:
          com.ibm.ws.scripting.ScriptingException: WASX7111E: Cannot find a match for supplied option: “[abc, abc.war,WEB-INF/web.xml, newVH]” for task “MapWebModToVH”

          Please advise why the error and whats wrong? How do I fix it? Also, if the above code can be fixed, can it be changed to assign the newVH host to all the WebModules under the Application that can be seen on Enterprise Applications > abc > Virtual hosts (Like the Multiple Mapping option)

          Thanks in advance and appreciate your help and support.

          1. Steve Robinson says:

            Use this guide http://blog.webspheretools.com/2012/04/06/deploying-jython/ to help you learn some of the Jython syntax, better still buy my course. It is the price of less than an hours consulting from me. If you buy the course, you get free support in my forum on the topics within the course.

          2. Steve Robinson says:

            Did my guide help?

  17. Khaleel says:

    Hi Steve,

    Am having a querys that might be absolutely silly for you,

    1. am using WAS 6.1v on windows,will you help me to create a cell profile through command line and of course its
    “manageprofile.bat -create -templatePath -help”,
    will you give me total complete command to create cell profile which include application server profile and deployment manager profile along with fedaration.

    2.am having linux installed on windows machine through vmware, and am going to interact with linux through putty,and how do i open a admin console on windows with the port no. of WAS which is installed on linux, any settings to be made in browser or any software has to download?

    1. Steve Robinson says:

      Search http://www.webspsheretools.com or this blog for your answers. I have answers to all these across my site articles. Have a read, it is all there.

  18. Miguel Ougli says:

    Hi Steve,

    as I see, you were into all software releases Im actually working on my new problem. My work is around with some providers, that are using Software like WebSphere, WebLogic, JBoss, Apache and some others for their web appearance.
    Now I´m trying to create a tool/script, that will check the available servers running on the hardware machines. My biggest problem is, that I don´t know, for what I should look at first. My first intention was, to grep for processes running on the machine. But that information is not enough specific. Because, if there is a machine for example, that is running 4 instances of WebLogic, and two of WebSphere, I can´t see this difference in the process list. My question is, do you probably know a more exactly way, to find out, how many instances of each software are running on a specific machine? I need this script, to check over 476 available machines, on which are running at moment more than 2000 application servers/apache´s/jboss/ in different configuration. Maybe there is a more simple way, to find out how many of this servers were installed? The next problem is, that the application servers were installed in different locations with different names. That belongs to the different customers, that were hosting their systems there.
    The next problem is, that I only have remote access. So is it possible to check that remote, or is it better, to install it as a cron job, that will check periodly for any changes?
    For any support or suggested solution I will be gratefull!

    1. Steve Robinson says:

      Well, there are many ways to skin a cat here.

      You can use clever greps with sed and awk / regular expression to filter specific JEE Application Server types. Even simple queries like ps -ef | grep java | grep -i “websphere” can do a lot for you. Simple I know but the idea is to test and experiment, sorry no shortcut. You can also use Java for SSH and create a java program to call scripts ie open a session, create a script and execute it, but the issue will always be ssh access. Can you use SSH keys for trusts? I presume so.The problem is apache. jboss, WLS and WAS do have many posible configs, but there could be figured out with some clever regular expressions, and some blood sweat and tears. You will need to look for names of folders that are known vs known process. Basically you are creating a product here and any intelligence I could give would really need to be consulting.

      1. Miguel Ougli says:

        Thanks for your fast reply. Thats exactly the way I started already. I thought, maybe there is another solution – a better way to finalize my problem. But as far, as the problem is such complex, I have to figure out my way.
        I started with the process list, but the main problem is, if a machine is down for update for example or of some other reason, there would not be any process in the list responsed. But I will try to force some simple querries, that will go through the file system and look for some specific named files. So as a result I will compare this found files with the processes I get back running at the machine.
        Maybe this will work for beginning.
        Thanks for taking your time to give me a answer. I appreciate that you took your time to answer!

Leave a Reply

Your email address will not be published.

* Copy this password:

* Type or paste password here:

8,484 Spam Comments Blocked so far by Spam Free Wordpress

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Looking for IBM WebSphere administration/information and/or consulting?

Looking for IBM WebSphere administration/information and/or consulting? I have been working in Java related technologies for over 15 years and specialise in Java EE, particularly application server problem solving and middleware integrations. I offer the following services… Software integration using both open source and proprietary solutions I provide affordable and ingenious solutions to seemingly complex …

Read more

041012_1735_1.png

Whats’s inside the WebSphere Courses?

What do you get when you buy a Gold Package from “The Middleware Shop” (http://www.themiddlewareshop.com) In the example of the WebSphere Application Server 8 Network Deployment Essentials course, when you purchase the “Gold Package”, you get access to the Gold Membership and full access is granted to the course material. Below is an example of …

Read more

WebSphere Course

The Middleware Shop announces the long awaited “WebSphere Application Server 8 Network Deployment Essentials”  training course. It is available for purchase and download from http://www.themiddlewareshop.com/2012/03/25/was8-gold-package/ There are 20 modules in the “WebSphere Application Server Essentials” course which can be purchased for $99.95 (normally $249). Includes All 20 modules. Includes exercise labs, code and samples. Includes …

Read more

040612_1816_Deployingus1.png

Deploying using Jython

Some simple concepts that help with using Jython to deploy applications. When installing an application and you want to know all the options for binding resources and virtual hosts etc in your Jython script, the quickest way to learn is to record a deployment using the console. In my example I am using WebSphere Application …

Read more