How to init the managed session bean?

Hi, suppose we have a session bean like this:
<managed-bean>
    <managed-bean-name>A</managed-bean-name>
            <managed-bean-class>
     a.A
            </managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
</managed-bean>I want to clear the states of A, so i need to reinitialize it,how to do that?

Y_Not, i find there is some problem with the line:
createValueBinding( "#{yourSessionBeanName}").setValue(FacesContext.getCurrentInstance(),null);later,when i again what to use my session bean, i will got an java.lang.NullPointerException, so i guess when there is a ValueBinding trying to get the bean,if the bean is null, jsf impl will not initialize it automatically, is that true?
But i think the class of the session bean has been specified, so jsf should be capable of initializing it whenever it is null and someone try to get it.I am using myfaces, i don't know if this not happens with sun implemenation.
so maybe i have to use the following line instead of the one above:
createValueBinding( "#{yourSessionBeanName}").setValue(FacesContext.getCurrentInstance(),new YourSesssionBeanName());Obviously,this is not convenient.
Best Regards:)

Similar Messages

  • How to get the Stateful Session bean instance in the second call

    Hi,
    I am new to EJBs. I have made a Stateful session bean on the first jsp page. In this page i am setting certain member variables of the EJB. Now in the second page i want to get these stored values in the EJB.
    In the second page do I...
    1. Store the instance of Remote Interface in the Session Context of the first JSP page and then in the second page get the Remote interface stored in its session context and call the business functions to get the values. If this is the case then what do u mean by Stateful Session beans??
    P.S.- This works fine.
    2. Try to get the Remote interface of that particular instance of the EJB(in which the values were stored) and call its business functions. IF this is possible. How do i do it??
    thanks in advance
    Anurag

    Hi,
    thanks for information. But i have one question. In a stateful session bean why do we have to store the Remote Interface on the client side.
    I expected in the second jsp page when i do a lookup or create, the container/server should find out whether there is a session bean already created for this session if yes, then return that particular instance of the session bean else create a new one.
    If this is not a possible case then a stateful session bean is nuthing but an instance of an object in the EJB container which does not get destroyed unless there is a time out or the remove method is called. It has nuthing to do with session because throughout the session I have to store the remote interface in the session context of the client( the client here means the jsp).
    thanks in advance
    Anurag

  • How to track the stateful Session Bean?

    Hi all,
    Am in a serious trouble. I have a message driven bean which will get initiated when some message gets dumped into the queue. I have got session bean which i use to process message which my message driven bean takes from the queue.
    My problem is, lets say there are 3 msgs in the queue. lets say the messages be "aaaa", "aaaa" and "bbbb".
    In this case, when i read the first message, i will create an instance of the session bean to process the message "aaaa". When i receive the second message still i create an instance to process the message "aaaa". When i get the 3rd message, i create an instance to process the message "bbbb".
    My problem in this is, i want to create only one instance of session bean for the message "aaaa".
    So once i create the instance for session bean for particular message, i need to store the object or something of the instance which i created along with the message. Please help me with what i can store with which i can reffer to the session bean again.
    Please see the sample code too.
    Thanks in advance,
    Ashly
    if(msg.equals("aaaa"))
    First n;
    Object obj = ctx.lookup("ejb/First");
    FirstHome home = (FirstHome) PortableRemoteObject.narrow(obj, FirstHome.class);
    n = home.create(msg);
    }

    Hi,
    thanks for information. But i have one question. In a stateful session bean why do we have to store the Remote Interface on the client side.
    I expected in the second jsp page when i do a lookup or create, the container/server should find out whether there is a session bean already created for this session if yes, then return that particular instance of the session bean else create a new one.
    If this is not a possible case then a stateful session bean is nuthing but an instance of an object in the EJB container which does not get destroyed unless there is a time out or the remove method is called. It has nuthing to do with session because throughout the session I have to store the remote interface in the session context of the client( the client here means the jsp).
    thanks in advance
    Anurag

  • How can i lookup a session bean from the client side

    how can i lookup a session bean from the client side...........i am using sun appserver..............
    this is my code.................[B]
    private final static String JNDI_NAME="ejb/LmsBean";
    private static String url="ldap://localhost:4848";
    Hashtable h=new Hashtable();
    h.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
    h.put(Context.PROVIDER_URL,url);
    System.out.println("Before Loading Context in Delegate");
    Context ctx=new InitialContext(h);
    System.out.println("Loaded Context in Delegate");
    Object obj=ctx.lookup(JNDI_NAME);
    System.out.println("Loaded Object in Delegate");
    System.out.println("Before Loading Home in Delegate");
    LmsHome home = (LmsHome )PortableRemoteObject.narrow(obj,com.parx.lms.controller.LmsHome.class);
    System.out.println("Loaded Home in Delegate");
    lms = home.create();
    System.out.println("Loaded remote in Delegate");
    [B]and i got the exception........
    Inside Client before calling delegate
    Before Loading Context in Delegate
    javax.naming.CommunicationException: Request: 1 cancelled
    javax.naming.CommunicationException: Request: 1 cancelled
    at com.sun.jndi.ldap.LdapRequest.getReplyBer(LdapRequest.java:60)
    at com.sun.jndi.ldap.Connection.readReply(Connection.java:405)
    at com.sun.jndi.ldap.LdapClient.ldapBind(LdapClient.java:340)
    at com.sun.jndi.ldap.LdapClient.authenticate(LdapClient.java:171)
    at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2640)
    at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:290)
    at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:175)
    at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:193
    at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.ja
    va:136)
    at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.jav
    a:66)
    at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:6
    62)
    at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243
    at javax.naming.InitialContext.init(InitialContext.java:219)
    at javax.naming.InitialContext.<init>(InitialContext.java:195)
    at com.parx.lms.lmsdelegate.LmsDelegate.getController(LmsDelegate.java:3
    0)
    at com.parx.lms.lmsdelegate.LmsDelegate.addUserDelegate(LmsDelegate.java
    :50)
    at com.parx.lms.client.consoleClient.Client.main(Unknown Source)
    pls go tru the exception and pls help.........

    That url string should be having the server name or ip instead of localhost.

  • How to obtain the manage beans instance to oprate it in javacode

    in the faces,there is some manage bean, but i what to operate it ,eg: carbean.carName = "xxxx"; carbean is a managed bean:
    How to obtain the manage beans instance to oprate it in javacode

             ActivityContentBean activityContentBean = (ActivityContentBean) FacesContext
                        .getCurrentInstance().getApplication().createValueBinding(
                                  "#{currentActivity}").getValue(
                                  FacesContext.getCurrentInstance());

  • Accessing Managed Session Bean in Servlet Filter

    I wrote a Servlet Filter to handle user authentication. Now I'm trying to access my Managed Session Bean in the filter in order to save the current user. Unfortunately the Session Bean is created after the Filter executes for the first time.
    I'm trying to access the Session Bean in this way:
    (SessionBean) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("sessionBean");
    In this case getExternalContext() is equals null.
    Is there any way to create the Session bean before the filter executes or any other ideas how to handle this?
    I already searched around the internet but couldnt figure out something.
    Thanks guys,
    Paul

    Ok, fixed it like this. Works perfect. JSF finds and uses the handmade Session Bean as well.
    if(request.getSession().getAttribute(BeanNames.SESSION_SCOPE_BEAN) == null) {
         SessionBean sessionBean = new SessionBean();
         request.getSession().setAttribute(BeanNames.SESSION_SCOPE_BEAN, sessionBean);
    }Thanks,
    Paul

  • How to delete the redundant sessions in Maintenance Optimizer?

    Hi experts,
    As it said in title, how to delete the expired sessions as the screenshot below in Maintenance Optimizer and keep SAP Solution Manager clean?
    Thank you in advance.
    Best Regards,
    Pany

    Hello,
    Check here Deleting existing maintenance optimizer transactions
    Please  refer to the note 845433 , with the report CRM_ORDER_DELETE  and transaction type SLMO,you can delete those maintenance optimizer, hope this help to you
    BR,
    K.

  • How can I set a Session bean timeout

    Hello !
    How can I set a Session bean to time out eg. 48 hours ?
    Thanks
    Uiloq Slettemark

    For stateful session beans you can use the timeout attribute in the orion-ejb-jar e.g.
    <session-deployment timeout=1800 ..>
    this is specified in seconds and Default Value: 30 (minutes)
    regards
    Debu

  • How to share the same session between JNLP Application and browser session

    How to share the same session between JNLP Application and browser session using BasicService.showDocument(url) method? It appears whenever i launch any URL from within a JNLP application using BasicService.showDocument(url) , it creates new instance of browser and session even after i used cooke handlers to restore JSESSIONID and Ltpa token etc.
    public static int showDocument(String urlToOpen)
    BasicService obj = (BasicService) ServiceManager.lookup("javax.jnlp.BasicService");
    obj.showDocument(urlToOpen);
    }

    Try using Reflection

  • How to find the max session count and process count for a database

    Hi All,
    How to find the maximum session count and process count reached for a database over a period of 15 days?
    DB version:11.2.0.2
    OS:AIX

    Thanks for the link.
    The output of the below query that is given in the link shows the results for the last 10 or 12 days.. Is there a query which gives a result for the last 30 days?
    col metric_unit for a30
    set pagesize 100
    Select trunc(end_time),max(maxval) as Maximum_Value,metric_unit
    from dba_hist_sysmetric_summary
    where metric_id in ( 2118,2119) group by trunc(end_time),metric_unit order by 1;

  • How to invalidate the IPortalComponent Session

    Hi,
    I have written one portal component for customizing the session expiry. In this component, based on certain idle time we want to redirect to another customize page saying that session is timed out. Redirection is happening but session is still alive. I want to invalidate the session.
    Can somebody tell me that <b>how can I invalidte the IPortalComponent session</b>. I know how to invalidate the http session but that does not solve my problem.
    Any suggestion?
    Thanks in advance.
    Manish

    Hi,
    By looking at the code of the IPortalComponentSession one can see that it basically stores all values in the httpsession with a certain prefix. Therefore, shouldn't it be sufficient to invalidate the httpsession ? (if this is not the case could you describe the problem closer)
    Note that if there is not component session, the IPortalComponent request creates one the first time it is accessed.
        public IPortalComponentSession getComponentSession()
            if(mm_componentSession == null)
                mm_componentSession = new PortalComponentSession(this);
            return mm_componentSession;
    Dagfinn

  • How to clear the Managed Bean Values prior to load a JSF page

    Hello.
    I have a jsf page that contains fields that need to be cleared BEFORE the page is loaded.
    My managed bean where the fields are linked (I�m using the value attribute) is in the SESSION scope because I need to control they values across a popup window and if I use request scope, my vectors that load objects like dataTable are cleared when I post the form.
    My question is :
    How I CLEAR all the values in the managed bean BEFORE the page is loaded ???
    In the WebForms (Microsoft .NET) I have an method on the codebehind called Page_Load where I put my initialization code for my page.
    Thanks in advance.
    Rog�rio

    Rog�rio,
    You can do this with a PhaseListener. Just regiser a new listener for the RESTORE_VIEW phase, and implement the beforePhase method; you can do this in the backing bean's constructor, or somewhere elase. This is pretty much the same as the Page_Load event handler in .NET.
    Kito D. Mann
    Author, JSF in Action
    http://www.jsfcentral.com - JSF news, info, and FAQ
    Hello.
    I have a jsf page that contains fields that need to be
    cleared BEFORE the page is loaded.
    My managed bean where the fields are linked (I�m using
    the value attribute) is in the SESSION scope because I
    need to control they values across a popup window and
    if I use request scope, my vectors that load objects
    like dataTable are cleared when I post the form.
    My question is :
    How I CLEAR all the values in the managed bean BEFORE
    the page is loaded ???
    In the WebForms (Microsoft .NET) I have an method on
    the codebehind called Page_Load where I put my
    initialization code for my page.
    Thanks in advance.
    Rog�rio

  • Managed session bean in servlet filter

    Hi,
    Is there a way to get hold of a managed bean with session scope in a servlet filter? The code below throws an error due to the fact that the faces context is null.
    FacesContext facesContext = FacesContext.getCurrentInstance();
    System.out.println("facesContext: " + facesContext); // shows that facesContext is null
    ApplicationFactory appFactory = ApplicationFactory)FactoryFinder.getFactory(FactoryFinder.APPLICATION_FACTORY);
    Application app = appFactory.getApplication();
    Object obj = app.createValueBinding("user").getValue(facesContext); //throws the error due to the null parameter
    Object obj2 = app.createValueBinding("user"); //results in a valid ValueBindingHere is the faces-config snippet for the managed bean:
    <managed-bean>
        <managed-bean-name>user</managed-bean-name>
        <managed-bean-class>biz.libereco.skemo.info.asl.beans.User</managed-bean-class>
        <managed-bean-scope>session</managed-bean-scope>
    </managed-bean>For the record, I am using JSF 1.0 Final.
    Thank you,
    Marcel

    wynton_0 wrote:
    Yes, there is a way to get hold of a managed bean with session scope in a servlet filter.
    See here:
    [http://wiki.apache.org/myfaces/AccessFacesContextFromServlet]
    and here:
    [how to access faces context and backing beans in a servlet filter|http://www.thoughtsabout.net/blog/archives/000033.html]
    This makes no utter sense. A JSF session scoped managed bean is under the hood just put as a HttpSession attribute with the managed bean name as key. Guess what, you can just access the HttpSession in Filter by ((HttpServletRequest) request).getSession() and then just call getAttribute() on it. If it isn't there yet, then just do a setAttribute() with a new instance.
    After I get User bean in my Servlet filter, I populate value to this bean, for example:
    user.setLanguage(request.getParameter("locale"));
    The User bean is in session scope. The User bean's language attribute suppose to be same in the whole session scope, but later on, I got null. My question is:
    how to keep this value in session scope?The the session was apparently invalidated/renewed or you manually removed the bean or replaced it by null.
    In the future, please don't resurrect old topics, just start a new topic for each independent problem/question.

  • How to get the current session details in windows phone 8 when using Facebook ,Google and Microsoft login

    I want to get the session details like access token , provider etc on a page (ExamplePage.xaml.cs) , i used the following example from nokia developers community (link)
     and implemented the login part but how can i get session details  so that i can send it to my API
    The SessionService class manages the session on facebook,google,microsoft login:
    /// <summary>
    /// The service session.
    /// </summary>
    public class SessionService : ISessionService
    private readonly IApplicationSettingsService _applicationSettings;
    private readonly IFacebookService _facebookService;
    private readonly IMicrosoftService _microsoftService;
    private readonly IGoogleService _googleService;
    private readonly ILogManager _logManager;
    /// <summary>
    /// Initializes a new instance of the <see cref="SessionService" /> class.
    /// </summary>
    /// <param name="applicationSettings">The application settings.</param>
    /// <param name="facebookService">The facebook service.</param>
    /// <param name="microsoftService">The microsoft service.</param>
    /// <param name="googleService">The google service.</param>
    /// <param name="logManager">The log manager.</param>
    public SessionService(IApplicationSettingsService applicationSettings,
    IFacebookService facebookService,
    IMicrosoftService microsoftService,
    IGoogleService googleService, ILogManager logManager)
    _applicationSettings = applicationSettings;
    _facebookService = facebookService;
    _microsoftService = microsoftService;
    _googleService = googleService;
    _logManager = logManager;
    /// <summary>
    /// Gets the session.
    /// </summary>
    /// <returns>The session object.</returns>
    public Session GetSession()
    var expiryValue = DateTime.MinValue;
    string expiryTicks = LoadEncryptedSettingValue("session_expiredate");
    if (!string.IsNullOrWhiteSpace(expiryTicks))
    long expiryTicksValue;
    if (long.TryParse(expiryTicks, out expiryTicksValue))
    expiryValue = new DateTime(expiryTicksValue);
    var session = new Session
    AccessToken = LoadEncryptedSettingValue("session_token"),
    Id = LoadEncryptedSettingValue("session_id"),
    ExpireDate = expiryValue,
    Provider = LoadEncryptedSettingValue("session_provider")
    _applicationSettings.Set(Constants.LoginToken, true);
    _applicationSettings.Save();
    return session;
    /// <summary>
    /// The save session.
    /// </summary>
    /// <param name="session">
    /// The session.
    /// </param>
    private void Save(Session session)
    SaveEncryptedSettingValue("session_token", session.AccessToken);
    SaveEncryptedSettingValue("session_id", session.Id);
    SaveEncryptedSettingValue("session_expiredate", session.ExpireDate.Ticks.ToString(CultureInfo.InvariantCulture));
    SaveEncryptedSettingValue("session_provider", session.Provider);
    _applicationSettings.Set(Constants.LoginToken, true);
    _applicationSettings.Save();
    /// <summary>
    /// The clean session.
    /// </summary>
    private void CleanSession()
    _applicationSettings.Reset("session_token");
    _applicationSettings.Reset("session_id");
    _applicationSettings.Reset("session_expiredate");
    _applicationSettings.Reset("session_provider");
    _applicationSettings.Reset(Constants.LoginToken);
    _applicationSettings.Save();
    /// <summary>
    /// The login async.
    /// </summary>
    /// <param name="provider">
    /// The provider.
    /// </param>
    /// <returns>
    /// The <see cref="Task"/> object.
    /// </returns>
    public async Task<bool> LoginAsync(string provider)
    Exception exception = null;
    try
    Session session = null;
    switch (provider)
    case Constants.FacebookProvider:
    session = await _facebookService.LoginAsync();
    break;
    case Constants.MicrosoftProvider:
    session = await _microsoftService.LoginAsync();
    break;
    case Constants.GoogleProvider:
    session = await _googleService.LoginAsync();
    break;
    if (session != null)
    Save(session);
    return true;
    catch (InvalidOperationException e)
    throw;
    catch (Exception ex)
    exception = ex;
    await _logManager.LogAsync(exception);
    return false;
    /// <summary>
    /// The logout.
    /// </summary>
    public async void Logout()
    Exception exception = null;
    try
    var session = GetSession();
    switch (session.Provider)
    case Constants.FacebookProvider:
    _facebookService.Logout();
    break;
    case Constants.MicrosoftProvider:
    _microsoftService.Logout();
    break;
    case Constants.GoogleProvider:
    _googleService.Logout();
    break;
    CleanSession();
    catch (Exception ex)
    exception = ex;
    if (exception != null)
    await _logManager.LogAsync(exception);
    /// <summary>
    /// Loads an encrypted setting value for a given key.
    /// </summary>
    /// <param name="key">
    /// The key to load.
    /// </param>
    /// <returns>
    /// The value of the key.
    /// </returns>
    private string LoadEncryptedSettingValue(string key)
    string value = null;
    var protectedBytes = _applicationSettings.Get<byte[]>(key);
    if (protectedBytes != null)
    byte[] valueBytes = ProtectedData.Unprotect(protectedBytes, null);
    value = Encoding.UTF8.GetString(valueBytes, 0, valueBytes.Length);
    return value;
    /// <summary>
    /// Saves a setting value against a given key, encrypted.
    /// </summary>
    /// <param name="key">
    /// The key to save against.
    /// </param>
    /// <param name="value">
    /// The value to save against.
    /// </param>
    /// <exception cref="System.ArgumentOutOfRangeException">
    /// The key or value provided is unexpected.
    /// </exception>
    private void SaveEncryptedSettingValue(string key, string value)
    if (!string.IsNullOrWhiteSpace(key) && !string.IsNullOrWhiteSpace(value))
    byte[] valueBytes = Encoding.UTF8.GetBytes(value);
    // Encrypt the value by using the Protect() method.
    byte[] protectedBytes = ProtectedData.Protect(valueBytes, null);
    _applicationSettings.Set(key, protectedBytes);
    _applicationSettings.Save();

    I need to get the session details in the following page AllEvents.xaml.cs  :
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Net;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Navigation;
    using Microsoft.Phone.Controls;
    using Microsoft.Phone.Shell;
    using AuthenticationSample.WP80.ViewModel;
    using AuthenticationSample.WP80.Services.Model;
    using AuthenticationSample.WP80.Services;
    using AuthenticationSample.WP80.Resources;
    using System.Threading.Tasks;
    namespace AuthenticationSample.WP80.Views
    public partial class AllEvents : PhoneApplicationPage
    public AllEvents()
    InitializeComponent();
    MainViewModels FakeData = new MainViewModels();
    FakeData.LoadData();
    DataContext = FakeData;

  • Question about the Create Session Bean Wizard

    Hi,
    I'm using the Session Bean Wizard to generate a session facade in EJB 3.0. In step 2 «choose methods to expose through this facade», I only see 2 methods generated for each entity: findAll and remove.
    When I click Help on this page, the documentation specify the following:
    «Use the tree control to specify the core methods and entity methods you want to generate. Core Facade Methods Theese methods are used for basic CRUD (create, read, update, delete) functionality. »
    So why is the wizard only offering to generate findAll and remove?
    Also the remove method generated does not seem to delete anything as in the following :
    public void removeDcaRole(DcaRole dcaRole) {
    final EntityManager em = getEntityManager();
    try {
    final EntityTransaction et = em.getTransaction();
    try {
    et.begin();
    dcaRole = em.find(DcaRole.class, new DcaRolePK(dcaRole.getDcaNo(), dcaRole.getTRoleCode()));
    et.commit(); // where is the delete ???
    } finally {
    if (et != null && et.isActive()) {
    et.rollback();
    } finally {
    if (em != null && em.isOpen()) {
    em.close();
    Can I use the remove method as a starting point to an update ?
    Any comment on this would be appreciated.

    There are update and insert methods under the "core" section/
    See this image : http://www.oracle.com/technology/obe/obe1013jdev/10131/10131_ejb_30/images/b20105.gif
    You might want to follow this tutorial to see how it works:
    http://www.oracle.com/technology/obe/obe1013jdev/10131/10131_ejb_30/ejb_30.htm#t4

Maybe you are looking for

  • HELP!!  Upgraded to latest Itunes, now cannot import CDs!!!

    Was doing fine, enjoying my new Ipod, building music library for first time. Then I upgraded and now I can no longer import music. I ran diagnostics as suggested in other thread on problems burning CD, which shows that the computer is not recognizing

  • Drag and Drop not working properly in Query

    Hi, In my Query, I have Material and Segment as characteristics in the rows. I have Calendar day in Free char. After executing the query, If I drag Calendar day and drop it between material and segment, Instead of coming in between the two characteri

  • How do I get the icons to display in the finder sidebar?

    For some odd reason, the icons in the finder sidebar on my MacBook Pro are not displaying (that means that they are not there at all, not just grey). I have already deleted the plist file and restarted to no effect.  any suggestions out there?

  • Creating file command in Linux

    What is the command to create some oracle.permissions file? like touch oracle.permissions?

  • Hangs and Crashes After migrating to Yosemite

    After a Late 2009 iMac graphics card failure, I purchased a 5K which came with Yosemite pre-installed.  I then used migration assistant to move everything from a bootable clone of the old system made using Carbon Copy Cloner. Everything went well, bu