我有一个多模块EJB webapp,使用Java 1.6,ejb 3.0,jsf 2.0和两个JAX WS Web服务。 .ear包部署在Weblogic 11g双节点集群服务器上。
从两个JAX-WS Web服务中,只有一个是麻烦,我只能在测试环境上测试它不是一个集群环境(在测试中没有问题)。在生产(集群)上,我从Web服务的响应中得到“Bean已被删除”错误(在服务器日志或应用程序日志中没有错误),然后Web服务已关闭。
响应:
[5/22/17 14:45:05:698 EEST] 000034df E UOW=null source=WLE.wle org=null prod=null component=null thread=[WebContainer : 30]
CWLLG1405E: Exception javax.xml.ws.soap.SOAPFaultException: Bean has been deleted. occurred while trying to invoke a service: CreateFoccaInteractionPortBindingQSService, ServiceNS: http://createFoccaInteraction.cca.endava.com/, address: https://esblb.bcr.wan:5443/services/Focca/CreateFoccaInteraction, wsdlURL: file:///ibm/BPM/focca_ws/CreateFoccaInteraction.wsdl.
javax.xml.ws.soap.SOAPFaultException: Bean has been deleted.
at org.apache.axis2.jaxws.marshaller.impl.alt.MethodMarshallerUtils.createSystemException(MethodMarshallerUtils.java:1363)
at org.apache.axis2.jaxws.client.dispatch.BaseDispatch.getFaultResponse(BaseDispatch.java:851)
at org.apache.axis2.jaxws.client.dispatch.BaseDispatch.invoke(BaseDispatch.java:206)
at com.ibm.bpm.ws.soap.JAXWSSOAPMessageConnector.callWebService(JAXWSSOAPMessageConnector.java:142)
at com.ibm.bpm.ws.soap.SOAPMessageConnectorDelegate.callWebService(SOAPMessageConnectorDelegate.java:43)
at teamworks.SOAPMessageConnector.callWebService(SOAPMessageConnector.java:58)
at teamworks.SOAPMessageConnector.callWebService(SOAPMessageConnector.java:53)
at sun.reflect.GeneratedMethodAccessor660.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at teamworks.connector.JavaReflectionConnector$1.execute(JavaReflectionConnector.java:81)
at com.lombardisoftware.server.core.ManagedAssetClassLoaderUtil.executeWithManagedAssetClassLoader(ManagedAssetClassLoaderUtil.java:51)
at teamworks.connector.JavaReflectionConnector.execute(JavaReflectionConnector.java:49)
at com.lombardisoftware.component.javaconnector.worker.JavaConnectorWorker.invokeJavaMethod(JavaConnectorWorker.java:146)
at com.lombardisoftware.component.javaconnector.worker.JavaConnectorWorker.doJob(JavaConnectorWorker.java:79)
at com.lombardisoftware.component.common.workflow.ExecutionJob.doJob(ExecutionJob.java:453)
at com.lombardisoftware.server.ejb.workflow.EJBWorkflowManagerBean.doResumeWorkflowEngine(EJBWorkflowManagerBean.java:1366
at com.lombardisoftware.server.ejb.workflow.EJBWorkflowManagerBean.resumeTask(EJBWorkflowManagerBean.java:360)
at com.lombardisoftware.server.ejb.workflow.EJBWorkflowManagerBean.resumeTask(EJBWorkflowManagerBean.java:324)
at com.lombardisoftware.server.ejb.workflow.EJSRemoteStatefulEJBWorkflowManager_82478d70.resumeTask(Unknown Source)
at com.lombardisoftware.server.ejb.workflow._EJBWorkflowManagerInterface_Stub.resumeTask(_EJBWorkflowManagerInterface_Stub.java:287)
at com.ibm.bpm.rest.impl.coachflow.CallActivityServiceRunner.runService(CallActivityServiceRunner.java:62)
at com.ibm.bpm.rest.impl.coachflow.ServiceStartActionHandler.handleAction(ServiceStartActionHandler.java:185)
at com.ibm.bpm.rest.impl.coachflow.ServiceResource.postServiceActions(ServiceResource.java:231)
at sun.reflect.GeneratedMethodAccessor770.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at org.apache.wink.server.internal.handlers.InvokeMethodHandler.handleRequest(InvokeMethodHandler.java:63)
at org.apache.wink.server.handlers.AbstractHandler.handleRequest(AbstractHandler.java:33)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
at org.apache.wink.server.internal.handlers.CreateInvocationParametersHandler.handleRequest(CreateInvocationParametersHandler.java:54)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
at org.apache.wink.server.handlers.AbstractHandler.handleRequest(AbstractHandler.java:34)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
at org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleSubResourceMethod(FindResourceMethodHandler.java:188)
at org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleRequest(FindResourceMethodHandler.java:110)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
at org.apache.wink.server.internal.handlers.FindRootResourceHandler.handleRequest(FindRootResourceHandler.java:95)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
at org.apache.wink.server.internal.handlers.HeadMethodHandler.handleRequest(HeadMethodHandler.java:53)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
at org.apache.wink.server.internal.handlers.OptionsMethodWADLHandler.handleRequest(OptionsMethodWADLHandler.java:51)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
at org.apache.wink.server.internal.handlers.SearchResultHandler.handleRequest(SearchResultHandler.java:33)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
at org.apache.wink.server.internal.log.ResourceInvocation.handleRequest(ResourceInvocation.java:92)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
at org.apache.wink.server.internal.log.Requests.handleRequest(Requests.java:76)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
at org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
at org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:75)
at org.apache.wink.server.handlers.AbstractHandlersChain.run(AbstractHandlersChain.java:60)
at org.apache.wink.server.internal.RequestProcessor.handleRequestWithoutFaultBarrier(RequestProcessor.java:207)
at org.apache.wink.server.internal.RequestProcessor.handleRequest(RequestProcessor.java:154)
at org.apache.wink.server.internal.servlet.RestServlet.service(RestServlet.java:124)
web服务:
@WebService(serviceName = "createFoccaInteraction")
@Stateless()
public class CreateFoccaInteraction {
@EJB
private TaskManager taskManager;
@EJB
private CampaignImportManager cim;
@EJB
private ProspectManager prosManager;
@EJB
private ProspectPersistenceManager prosPersisManager;
@EJB
private TaskPersistenceManager taskPersisManager;
@EJB
private AuditPersistenceManager auditPersisManager;
@EJB
private InteractionManager interactionManager;
@EJB
private SystemSupportManager systemSupportManager;
@EJB
private ReasonCodePersistanceManager reasonCodePersistanceManager;
private static final Logger GENERAL = LoggingFacade.getLogger(ServiceHandler.class);
@WebMethod(operationName = "addInteraction")
public ServiceReplyType addInteraction(@WebParam(name = "request") ServiceRequestType request) throws DatatypeConfigurationException {
ServiceHandler sh = new ServiceHandler();
System.setProperty("com.sun.xml.ws.fault.SOAPFaultBuilder.disableCaptureStackTrace", "false");
ServiceReplyType srt = sh.handleRequest(request, cim, prosManager, prosPersisManager, taskPersisManager, auditPersisManager, taskManager, interactionManager, systemSupportManager, reasonCodePersistanceManager);
return srt;
}
处理程序:
@Stateless
public class ServiceHandler {
private CampaignImportManager campaignImportManager;
private ProspectManager prospectManager;
private ProspectPersistenceManager persistenceManager;
private InteractionManager interactionManager;
private ResourceLoadingManager resourceLoadingManager;
private TaskPersistenceManager taskPersistenceManager;
private AuditPersistenceManager auditPersist;
private TaskManager taskManager;
private SystemSupportManager systemSupportManager;
private ReasonCodePersistanceManager reasonCodePersistanceManager;
private ErrorsType err = new ErrorsType();
private List<MessageType> errorMessages = new ArrayList<MessageType>();
private ServiceRequestType request;
private ServiceReplyType reply = new ServiceReplyType();
private RequestHeaderType header = new RequestHeaderType();
private Campaign existingCampaign;
private ReplyHeaderType replyHeaderType= new ReplyHeaderType();
private static final Logger GENERAL = LoggingFacade.getLogger(ServiceHandler.class);
public ServiceReplyType handleRequest (ServiceRequestType srt, CampaignImportManager cim, ProspectManager pm,ProspectPersistenceManager persism,
TaskPersistenceManager tpm, AuditPersistenceManager ap, TaskManager tm, InteractionManager im, SystemSupportManager ssm, ReasonCodePersistanceManager rcpm) throws DatatypeConfigurationException{
this.request = srt;
this.header = srt.getHeader();
this.campaignImportManager = cim;
this.prospectManager = pm;
this.persistenceManager = persism;
this.taskPersistenceManager = tpm;
this.auditPersist = ap;
this.taskManager = tm;
this.interactionManager = im;
this.systemSupportManager = ssm;
this.reasonCodePersistanceManager = rcpm;
GENERAL.debug("Intrat in handleRequest");
if(header != null){
populateReplyHeader(header);
}else{
String errr = "Null request header.";
GENERAL.error(errr);
return replyFailed(errr);
}
String appID = header.getSourceAppItem().getSourceAppId();
String appCode = header.getSourceAppItem().getSourceAppCode();
if(getAppAuthentication(appID, appCode)){
if(header.getClientInfoDetails().getPhones().getMobile().isEmpty()header.getClientInfoDetails().getPhones().getWork().isEmpty()){
GENERAL.error("Impossible");
replyFailed("Impossible");
}
Interaction interaction = null;
Task task = null;
Prospect prospect = new Prospect();
final Date now = DateUtils.getCurrentDate();
existingCampaign = getExistingCampaign();
if (existingCampaign == null) {
String errr = "Nu exista";
GENERAL.error(errr);
return replyFailed(errr);
}
final List<Group> groupsForCampaign = campaignImportManager.
getGroupsForCampaign(existingCampaign.getId());
final String taskGroup;
if (groupsForCampaign.isEmpty()) {
final String errr = "-1Pentru " + existingCampaign.getName();
GENERAL.error(errr);
return replyFailed(errr);
} else {
taskGroup = groupsForCampaign.get(0).getId();
}
if (existingCampaign.getStatus() != null
&& existingCampaign.getStatus().equalsIgnoreCase(CCAConstants.CAMPAIGN_INACTIVE)) {
final String errr = "Interactiunea"
GENERAL.error(errr);
return replyFailed(errr);
}
prospect = getProspect();
task = getTask(taskGroup, now);
interaction = getInteraction(now);
interaction.setCampaignId(existingCampaign.getId());
String error = "";
try {
prospect = prospectManager.addCampaignProspectFromEmail(prospect, header.getUserID());//addCampProspect(prospect);
GENERAL.debug("Dupa prospectManager.addCampaignProspectFromEmail()");
} catch (EJBException ex) {
error = "Eroare" + ex.getMessage();
ex.printStackTrace();
GENERAL.error(error);
return replyFailed(error);
}
if (DataUtils.isEmpty(prospect.getId())) {
error = "Eroare";
GENERAL.error(error);
return replyFailed(error);
}
interaction.setProspect(prospect);
try {
interaction = interactionManager.addCampaignInteractionFromEmail(interaction, header.getUserID());
GENERAL.debug("Dupa interactionManager.addCampaignInteractionFromEmail)");
if(header.getInteractionWithTask().equalsIgnoreCase("y")){
task.setInteraction(interaction);
ServiceReply sr = new ServiceReply();
Long taskId = taskManager.addCampaignTaskFromEmail(task, header.getUserID());
interaction.setTaskId(taskId.toString());
//interactionManager.editInteraction(interaction, getReasonCode(), header.getAgentID());
sr.setTaskId(taskId.toString());
sr.setInteractionId(interaction.getInteractionId());
reply.setServiceReply(sr);
GENERAL.debug("Dupa reply.setServiceReply(sr) - sr = " + sr.toString());
}else{
ServiceReply sr = new ServiceReply();
sr.setTaskId("");
sr.setInteractionId(interaction.getInteractionId());
reply.setServiceReply(sr);
GENERAL.debug("Dupa reply.setServiceReply(sr) - sr = " + sr.toString());
}
} catch (Exception ex) {
ex.printStackTrace();
if(ex.getMessage() != null){
GENERAL.error(ex.getMessage());
return replyFailed(ex.getMessage());
}else{
GENERAL.error("Exception with NULL message.");
return replyFailed("Exception with NULL message.");
}
}
err.setErrorMsg(errorMessages);
reply.setErrors(err);
reply.getHeader().setDateTimeReply(getXmlDate());
reply.setServiceExecutionStatus(ExecutionStatusType.OK);
GENERAL.debug("reply.setServiceExecutionStatus(ExecutionStatusType.OK) - reply = " + reply.toString());
return reply;
}
String errr = "Source application authentication failed!";
GENERAL.error(errr);
return replyFailed(errr);
}
private List<Campaign> getCampaigns() {
GENERAL.debug("Intrat in getCampaigns()");
final SortCriteria defaultSortCriteria = new SortCriteria(CampaignColumns.CAMPAIGN_NAME, Boolean.TRUE);
return campaignImportManager.getAllCampaignsForEmail(defaultSortCriteria);
}
private Task getTask(final String group, final Date now) throws DatatypeConfigurationException {
GENERAL.debug("Intrat in getTask - start");
Task task = new Task();
List<String> lst = new ArrayList<String>();
if(!isNullOrEmpty(header.getClientInfoDetails().getPhones().getHome())){
lst.add(header.getClientInfoDetails().getPhones().getHome());
}
if(!isNullOrEmpty(header.getClientInfoDetails().getPhones().getMobile())){
lst.add(header.getClientInfoDetails().getPhones().getMobile());
}
if(!isNullOrEmpty(header.getClientInfoDetails().getPhones().getWork())){
lst.add(header.getClientInfoDetails().getPhones().getWork());
}
String phoneNumbersString = "";
for(String item: lst){
if(item.length() > 3){
phoneNumbersString += item + ";";
}
}
phoneNumbersString = phoneNumbersString.substring(0, phoneNumbersString.length()-1);
final StringBuilder sb = new StringBuilder();
sb.append("Nume campanie: ").append(existingCampaign.getName()).append("\n");
sb.append("Nume client: ").append(header.getClientInfoDetails().getFirstName()).append(" ");
sb.append(header.getClientInfoDetails().getLastName()).append("\n");
sb.append("Telefon: ").append(phoneNumbersString);
final GregorianCalendar cal = new GregorianCalendar();
cal.setTime(now);
cal.add(GregorianCalendar.DATE, 1);
task.setSubject(header.getProcessItem().getFormName());
if(!isNullOrEmpty(systemSupportManager.getValue("task.taskType"))){
GENERAL.debug("Intrat in getTask: systemSupportManager.getValue(\"task.taskType\") !=null value= " + systemSupportManager.getValue("task.taskType"));
task.setTaskTypeID(systemSupportManager.getValue("task.taskType"));
}else{
GENERAL.debug("Intrat in getTask: systemSupportManager.getValue(\"task.taskType\") =null; setting taskTypeId to 001");
task.setTaskTypeID("001");
}
String chargebackId = header.getProcessItem().getBpId();
if(isChargebackIdOk(chargebackId)=="true"
&& (chargebackId != "")){
task.setChargebackID(chargebackId);
}else{
replyFailed("ChargeBackID error");
}
return task;
}
private Interaction getInteraction(final Date now) throws DatatypeConfigurationException {
GENERAL.debug("Intrat in getInteraction");
final Direction dir = Direction.IN;
final Interaction interaction = new Interaction();
interaction.setSubject(header.getProcessItem().getFormName());
interaction.setNotes(header.getAppData().getTaskNotes());
if(!isNullOrEmpty(systemSupportManager.getValue("interaction.interactionChannelId"))){
interaction.setChannel(systemSupportManager.getValue("interaction.interactionChannelId"));
GENERAL.debug("Intrat in getInteraction - systemSupportManager.getValue(\"interaction.interactionChannelId\") != null; value= " + systemSupportManager.getValue("interaction.interactionChannelId"));
}
return interaction;
}
}
的web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name>cca</display-name>
<context-param>
<param-name>javax.faces.PARTIAL_STATE_SAVING</param-name>
<param-value>false</param-value>
</context-param>
<context-param>
<param-name>
javax.faces.VALIDATE_EMPTY_FIELDS
</param-name>
<param-value>true</param-value>
</context-param>
<listener>
<listener-class>com.endava.cca.web.listeners.CCAHttpSessionListener</listener-class>
</listener>
<listener>
<listener-class>com.endava.cca.web.listeners.RdcServletContextListener</listener-class>
</listener>
<listener>
<listener-class>com.endava.cca.web.listeners.RdcServletRequestListener</listener-class>
</listener>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>60</session-timeout>
</session-config>
<filter>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
<!-- init-param> <param-name>uploadDirectory</param-name> <param-value>C:/tmp_cca</param-value>
</init-param> <init-param> <param-name>thresholdSize</param-name> <param-value>512000</param-value>
</init-param -->
</filter>
<filter>
<filter-name>SessionTimeoutCheckFilter</filter-name>
<filter-class>com.endava.cca.web.filters.SessionTimeoutCheckFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
<filter-mapping>
<filter-name>SessionTimeoutCheckFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>LoggedUserFilter</filter-name>
<filter-class>com.endava.cca.web.filters.LoggedUserFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>LoggedUserFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>NoCacheFilter</filter-name>
<filter-class>com.endava.cca.web.filters.NoCacheFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>NoCacheFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<security-constraint>
<web-resource-collection>
<web-resource-name>Unprotected images</web-resource-name>
<url-pattern>/images/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>Unprotected CSS</web-resource-name>
<url-pattern>/css/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>Unprotected JS</web-resource-name>
<url-pattern>/scripts/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>Protected</web-resource-name>
<url-pattern>/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>cc_a</role-name>
<role-name>cc_s</role-name>
<role-name>cc_ag</role-name>
</auth-constraint>
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>createFoccaInteraction</web-resource-name>
<url-pattern>/createFoccaInteraction/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>getFoccaTaskStatus</web-resource-name>
<url-pattern>/getFoccaTaskStatus/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
<security-role>
<role-name>cc_admin</role-name>
</security-role>
<security-role>
<role-name>cc_supervizor</role-name>
</security-role>
<security-role>
<role-name>cc_agent</role-name>
</security-role>
<!-- <login-config>
<auth-method>CLIENT-CERT</auth-method>
</login-config>-->
<login-config>
<auth-method>FORM</auth-method>
<realm-name>myrealm</realm-name>
<form-login-config>
<form-login-page>/login/login.jsp</form-login-page>
<form-error-page>/login/error.jsp</form-error-page>
</form-login-config>
</login-config>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>server</param-value>
</context-param>
<context-param>
<param-name>javax.faces.FACELETS_LIBRARIES</param-name>
<param-value>/WEB-INF/CCAFunctions.taglib.xml</param-value>
</context-param>
<context-param>
<param-name>primefaces.THEME</param-name>
<!-- <param-value>redmond</param-value>-->
<param-value>redmond</param-value>
</context-param>
<context-param>
<param-name>servletPath</param-name>
<param-value>/faces</param-value>
</context-param>
<context-param>
<param-name>com.sun.faces.expressionFactory</param-name>
<param-value>org.jboss.el.ExpressionFactoryImpl</param-value>
</context-param>
<context-param>
<param-name>javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE</param-name>
<param-value>true</param-value>
</context-param>
<!-- Context parameters -->
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Production</param-value>
</context-param>
<context-param>
<param-name>javax.faces.FACELETS_REFRESH_PERIOD</param-name>
<param-value>2</param-value>
</context-param>
<context-param>
<param-name>com.sun.faces.resourceUpdateCheckPeriod</param-name>
<param-value>2</param-value>
</context-param>
<!-- parameter javax.faces.FACELETS_SKIP_COMMENTS always should be false
because iexplorer specific css file should be included in response -->
<context-param>
<param-name>javax.faces.FACELETS_SKIP_COMMENTS</param-name>
<param-value>false</param-value>
</context-param>
<context-param>
<param-name>javax.faces.SEPARATOR_CHAR</param-name>
<param-value>:</param-value>
</context-param>
<!-- <context-param> <param-name>javax.faces.VALIDATE_EMPTY_FIELDS</param-name>
<param-value>true</param-value> </context-param> -->
<context-param>
<param-name>com.sun.faces.allowTextChildren</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>com.sun.faces.defaultResourceMaxAge</param-name>
<param-value>1209600000</param-value>
</context-param>
<context-param>
<param-name>com.sun.faces.enableMissingResourceLibraryDetection</param-name>
<param-value>true</param-value>
</context-param>
<mime-mapping>
<extension>png</extension>
<mime-type>image/png</mime-type>
</mime-mapping>
<mime-mapping>
<extension>xhtml</extension>
<mime-type>application/xhtml+xml</mime-type>
</mime-mapping>
<listener>
<listener-class>
com.sun.xml.ws.transport.http.servlet.WSServletContextListener
</listener-class>
</listener>
<servlet>
<servlet-name>createFoccaInteraction</servlet-name>
<servlet-class>
com.sun.xml.ws.transport.http.servlet.WSServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>createFoccaInteraction</servlet-name>
<url-pattern>/createFoccaInteraction</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>getFoccaTaskStatus</servlet-name>
<servlet-class>
com.sun.xml.ws.transport.http.servlet.WSServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>getFoccaTaskStatus</servlet-name>
<url-pattern>/getFoccaTaskStatus</url-pattern>
</servlet-mapping>
</web-app>
这是我在这里的第一篇文章。我希望我提供了足够的信息。搜索所有互联网,但没有找到任何答案。
答案 0 :(得分:0)
它来自一个豆子
@EJB
private SystemSupportManager systemSupportManager;
从application.properties文件中加载已加载的属性。
通过直接在ServiceHandler中加载所需的属性来解决。