Example usage for com.liferay.portal.kernel.cluster ClusterRequest setFireAndForget

List of usage examples for com.liferay.portal.kernel.cluster ClusterRequest setFireAndForget

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.cluster ClusterRequest setFireAndForget.

Prototype

public void setFireAndForget(boolean fireAndForget) 

Source Link

Usage

From source file:com.liferay.monitoring.web.internal.portlet.action.EditSessionMVCActionCommand.java

License:Open Source License

protected void invalidateSession(ActionRequest actionRequest) throws Exception {

    String sessionId = ParamUtil.getString(actionRequest, "sessionId");

    try {/*from  ww  w  .j  av a  2 s .c  o  m*/
        PortletSession portletSession = actionRequest.getPortletSession();

        String portletSessionId = portletSession.getId();

        if (!portletSessionId.equals(sessionId)) {
            HttpSession userSession = PortalSessionContext.get(sessionId);

            if (userSession != null) {
                userSession.invalidate();

                return;
            }

            if (!_clusterExecutor.isEnabled()) {
                return;
            }

            try {
                MethodHandler methodHandler = new MethodHandler(_invalidateSessionMethodKey, sessionId);

                ClusterRequest clusterRequest = ClusterRequest.createMulticastRequest(methodHandler, true);

                clusterRequest.setFireAndForget(true);

                _clusterExecutor.execute(clusterRequest);
            } catch (Throwable t) {
                _log.error("Unable to notify cluster ", t);
            }
        }
    } catch (Exception e) {
        _log.error("Unable to invalidate session", e);
    }
}