Hi,

I am using JBoss portal 2.4,

I have defined a singleton class as follows and copied into the 
"jboss/server/default/lib" to be used for all the other portlets,

package testcom;

public class Communication {    
        private static Communication instance = null;
        private static String sName = "Krishan";

        private Communication(String sName)
        {
                this.sName =sName;
        }       
        
        public String getName()
        {
                return this.sName;
        }
        
        public void setName(String pName)
        {               
                this.sName = pName;
        }
        
         public static Communication getInstance(String pCaller) {
                 if(instance == null) {
                         String sureName ="Fernando";
                 instance = new Communication(sureName);
                 System.out.println("********************************instance 
is null");
              }
                 
                 
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~pCaller::sName:"+sName+"::"+pCaller);
                 
             return instance;
                }       
}


In my first senario:

When I access it for the very first time 
as http://localhost:8080/portal, it created a new  "Communication" instance.

 Communication cm = Communication.getInstance("MyPortlet");           
  writer.write("cm.getName():"+cm.getName());  
  cm.setName("Pradeep");
  writer.write("cm.getName():"+cm.getName());  


I got the Name as I expected: 
  cm.getName():Fernando 
  cm.getName():Pradeep

and also when I open another browser instance, I got the following result as 
expected.
  cm.getName():Pradeep
  cm.getName():Pradeep

But in my second scenario, When I click on the different portlet Url Tab in the 
same browser instance which is also suppose to display the cm.getName(),

it created the new Communication instance and  give me the following result,
cm.getName():Fernando 

But I was expected following results with out getting creating a new  
Communication instance ;
   cm.getName():Pradeep

I noticed that the url I clicked is contain with the session id values as 
follows,

http://localhost:8080/portal/portal/default/IPC;jsessionid=E5FE54B2057947FC8E77F0D57066F16F

So could you please tell me how can I get the expected data value without get 
creating another instance of a Communication object.(I want it to behave as a 
singleton object)

Thanks,
Krishan




View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3969685#3969685

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3969685
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to