Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jakarta ee 从JSF项目调用EJB_Jakarta Ee_Jsf 2_Jboss7.x_Ejb 3.0 - Fatal编程技术网

Jakarta ee 从JSF项目调用EJB

Jakarta ee 从JSF项目调用EJB,jakarta-ee,jsf-2,jboss7.x,ejb-3.0,Jakarta Ee,Jsf 2,Jboss7.x,Ejb 3.0,我有两个项目,一个是EJB,另一个是JSF项目。我想从JSF控制器调用EJB。我能够在JBoss7.1服务器上部署EJB,但不能从JSF控制器调用(部署)本地EJB。代码和错误如下所示 下面是部署在JBoss7.1服务器上的EJB代码 package com.store.ejb; import java.sql.Date; import java.util.Hashtable; import java.util.List; import javax.ejb.Stateless; i

我有两个项目,一个是EJB,另一个是JSF项目。我想从JSF控制器调用EJB。我能够在JBoss7.1服务器上部署EJB,但不能从JSF控制器调用(部署)本地EJB。代码和错误如下所示

下面是部署在JBoss7.1服务器上的EJB代码

    package com.store.ejb;

import java.sql.Date;
import java.util.Hashtable;
import java.util.List;

import javax.ejb.Stateless;

import org.jboss.annotation.ejb.LocalBinding;

import com.store.dao.OrderDAO;
import com.store.dao.OrderDAOInterface;
import com.store.entities.Order;

/**
 * Session Bean implementation class OrderBean
 */
@Stateless
@LocalBinding (jndiBinding="StoreEJB/OrderBeanLocal")
public class OrderBean implements OrderBeanLocal {

    /**
     * Default constructor. 
     */
    public OrderBean() {
        // TODO Auto-generated constructor stub
    }

    @Override
    public void addOrder(float orderPrice, Date orderDate, int customerId,
            Hashtable<Integer, Integer> product) {
        // TODO Auto-generated method stub

    }

    @Override
    public List<Order> getOrders() {
        OrderDAOInterface orderDao = new OrderDAO();
        return orderDao.getOrderList();
    }

    @Override
    public void editOrder(Date orderDate) {
        // TODO Auto-generated method stub

    }

    @Override
    public void deleteOrder(int orderId) {
        // TODO Auto-generated method stub

    }



}
下面是JSF控制器的代码——我试图从这里访问/调用EJB

@ManagedBean
@RequestScoped
public class OrderController {


private String orderId;
private Date orderDate;
private String orderPrice;
private String customerId;

//@EJB(name="java:global/StoreEJB/OrderBean")
private OrderBeanLocal bean;

private List<Order> allOrders;

public OrderController() throws NamingException{
    Context jndiContext = getInitialContext();
    bean = (OrderBeanLocal) jndiContext.lookup("java:global/StoreEJB/OrderBean");
}

public static Context getInitialContext( ) throws javax.naming.NamingException {
    return EJBContainer.createEJBContainer().getContext();
}

    // getters setters
@ManagedBean
@请求范围
公共类OrderController{
私有字符串orderId;
私有日期orderDate;
私有字符串订单价格;
私有字符串customerId;
//@EJB(name=“java:global/StoreEJB/OrderBean”)
私有订单bean本地bean;
私人名单分配;
public OrderController()引发NamingException{
Context jndiContext=getInitialContext();
bean=(OrderBeanLocal)jndiContext.lookup(“java:global/StoreEJB/OrderBean”);
}
公共静态上下文getInitialContext()抛出javax.naming.NamingException{
返回EJBContainer.createEJBContainer().getContext();
}
//吸气剂二传手
我的web.xml是

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>com.aislab.accesscontrol.core.ui-2</display-name>
  <context-param>
    <param-name>primefaces.THEME</param-name>
    <param-value>afterwork</param-value>
  </context-param>
  <welcome-file-list>
    <welcome-file>faces/orders.xhtml</welcome-file>
  </welcome-file-list>
  <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>
</web-app>

com.aislab.accesscontrol.core.ui-2
主题
下班
faces/orders.xhtml
Facesservlet
javax.faces.webapp.FacesServlet
1.
Facesservlet
/面孔/*
信息:EJB项目添加到JSF_项目->属性->JavaBuildPath->项目中

因此,当我运行JSF_项目时,它会给出以下异常/错误

22:52:28,377 INFO  [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) JBAS015003: Found StoreJSF.war in deployment directory. To trigger deployment create a file called StoreJSF.war.dodeploy
22:52:28,383 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-8) JBAS015876: Starting deployment of "StoreJSF.war"
22:52:31,135 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-5) JBAS015893: Encountered invalid class name 'com.sun.faces.vendor.Tomcat6InjectionProvider:org.apache.catalina.util.DefaultAnnotationProcessor' for service type 'com.sun.faces.spi.injectionprovider'
22:52:31,137 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-5) JBAS015893: Encountered invalid class name 'com.sun.faces.vendor.Jetty6InjectionProvider:org.mortbay.jetty.plus.annotation.InjectionCollection' for service type 'com.sun.faces.spi.injectionprovider'
22:52:33,581 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-1) MSC00001: Failed to start service jboss.deployment.unit."StoreJSF.war".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.unit."StoreJSF.war".POST_MODULE: Failed to process phase POST_MODULE of deployment "StoreJSF.war"
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [rt.jar:1.7.0]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [rt.jar:1.7.0]
    at java.lang.Thread.run(Unknown Source) [rt.jar:1.7.0]
Caused by: java.lang.RuntimeException: Error getting reflective information for class com.store.controllers.OrderController with ClassLoader ModuleClassLoader for Module "deployment.StoreJSF.war:main" from Service Module Loader
    at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:70) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.as.ee.metadata.MethodAnnotationAggregator.runtimeAnnotationInformation(MethodAnnotationAggregator.java:58)
    at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.handleAnnotations(InterceptorAnnotationProcessor.java:85)
    at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.processComponentConfig(InterceptorAnnotationProcessor.java:70)
    at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.deploy(InterceptorAnnotationProcessor.java:55)
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    ... 5 more
Caused by: java.lang.NoClassDefFoundError: Lcom/store/ejb/OrderBeanLocal;
    at java.lang.Class.getDeclaredFields0(Native Method) [rt.jar:1.7.0]
    at java.lang.Class.privateGetDeclaredFields(Unknown Source) [rt.jar:1.7.0]
    at java.lang.Class.getDeclaredFields(Unknown Source) [rt.jar:1.7.0]
    at org.jboss.as.server.deployment.reflect.ClassReflectionIndex.<init>(ClassReflectionIndex.java:57) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:66) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    ... 10 more
Caused by: java.lang.ClassNotFoundException: com.store.ejb.OrderBeanLocal from [Module "deployment.StoreJSF.war:main" from Service Module Loader]
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
    ... 15 more

22:52:33,608 INFO  [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS015870: Deploy of deployment "StoreJSF.war" was rolled back with failure message {"JBAS014671: Failed services" => {"jboss.deployment.unit.\"StoreJSF.war\".POST_MODULE" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"StoreJSF.war\".POST_MODULE: Failed to process phase POST_MODULE of deployment \"StoreJSF.war\""}}
22:52:33,664 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-2) JBAS015877: Stopped deployment StoreJSF.war in 55ms
22:52:33,666 INFO  [org.jboss.as.controller] (DeploymentScanner-threads - 2) JBAS014774: Service status report
JBAS014777:   Services which failed to start:      service jboss.deployment.unit."StoreJSF.war".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.unit."StoreJSF.war".POST_MODULE: Failed to process phase POST_MODULE of deployment "StoreJSF.war"

22:52:33,668 ERROR [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) {"JBAS014653: Composite operation failed and was rolled back. Steps that failed:" => {"Operation step-2" => {"JBAS014671: Failed services" => {"jboss.deployment.unit.\"StoreJSF.war\".POST_MODULE" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"StoreJSF.war\".POST_MODULE: Failed to process phase POST_MODULE of deployment \"StoreJSF.war\""}}}}
22:52:28377 INFO[org.jboss.as.server.deployment.scanner](DeploymentScanner threads-1)JBAS015003:在部署目录中找到StoreJSF.war。要触发部署,请创建一个名为StoreJSF.war.dodeploy的文件
22:52:28383信息[org.jboss.as.server.deployment](MSC服务线程1-8)JBAS015876:开始部署“StoreJSF.war”
22:52:31135警告[org.jboss.as.server.deployment](MSC服务线程1-5)JBAS015893:遇到服务类型“com.sun.faces.vendor.Tomcat6InjectionProvider:org.apache.catalina.util.DefaultAnnotationProcessor”的无效类名“com.sun.faces.spi.injectionprovider”
22:52:31137警告[org.jboss.as.server.deployment](MSC服务线程1-5)JBAS015893:遇到服务类型“com.sun.faces.vendor.Jetty6InjectionProvider:org.mortbay.jetty.plus.annotation.InjectionCollection”的无效类名“com.sun.faces.spi.injectionprovider”
22:52:33581错误[org.jboss.msc.service.fail](msc服务线程1-1)MSC00001:无法启动服务jboss.deployment.unit.“StoreJSF.war”。POST_模块:org.jboss.msc.service.StartException in service jboss.deployment.unit.“StoreJSF.war”。POST_模块:无法处理部署“StoreJSF.war”的阶段POST_模块
在org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119)[jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
在org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)[jboss-msc-1.0.2.GA.jar:1.0.2.GA]
在org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)[jboss-msc-1.0.2.GA.jar:1.0.2.GA]
位于java.util.concurrent.ThreadPoolExecutor.runWorker(未知源)[rt.jar:1.7.0]
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(未知源)[rt.jar:1.7.0]
运行(未知源)[rt.jar:1.7.0]
原因:java.lang.RuntimeException:从服务模块加载器获取类com.store.controllers.OrderController的反射信息时出错,其中类加载器ModuleClassLoader用于模块“deployment.StoreJSF.war:main”
位于org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:70)[jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
位于org.jboss.as.ee.metadata.MethodAnnotationAggregator.runtimeAnnotationInformation(MethodAnnotationAggregator.java:58)
位于org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.handleAnnotations(InterceptorAnnotationProcessor.java:85)
位于org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.processComponentConfig(InterceptorAnnotationProcessor.java:70)
位于org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.deploy(InterceptorAnnotationProcessor.java:55)
在org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113)[jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
…还有5个
原因:java.lang.NoClassDefFoundError:Lcom/store/ejb/OrderBeanLocal;
位于java.lang.Class.getDeclaredFields0(本机方法)[rt.jar:1.7.0]
位于java.lang.Class.privateGetDeclaredFields(未知源)[rt.jar:1.7.0]
位于java.lang.Class.getDeclaredFields(未知源)[rt.jar:1.7.0]
位于org.jboss.as.server.deployment.reflect.ClassReflectionIndex.(ClassReflectionIndex.java:57)[jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
位于org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:66)[jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
…还有10个
原因:java.lang.ClassNotFoundException:com.store.ejb.OrderBeanLocal,来自服务模块加载器的[Module“deployment.StoreJSF.war:main]
位于org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
位于org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
位于org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
位于org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
位于org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
…还有15个
22:52:33608信息[org.jboss.as.server](DeploymentScanner threads-2)JBAS015870:部署“StoreJSF.war”被回滚,返回失败消息{“JBAS014671:Failed services”=>{“jboss.deployment.unit.\“StoreJSF.war\”。发布模块“=>”org.jboss.msc.service.StartException在服务jboss中
22:52:28,377 INFO  [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) JBAS015003: Found StoreJSF.war in deployment directory. To trigger deployment create a file called StoreJSF.war.dodeploy
22:52:28,383 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-8) JBAS015876: Starting deployment of "StoreJSF.war"
22:52:31,135 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-5) JBAS015893: Encountered invalid class name 'com.sun.faces.vendor.Tomcat6InjectionProvider:org.apache.catalina.util.DefaultAnnotationProcessor' for service type 'com.sun.faces.spi.injectionprovider'
22:52:31,137 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-5) JBAS015893: Encountered invalid class name 'com.sun.faces.vendor.Jetty6InjectionProvider:org.mortbay.jetty.plus.annotation.InjectionCollection' for service type 'com.sun.faces.spi.injectionprovider'
22:52:33,581 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-1) MSC00001: Failed to start service jboss.deployment.unit."StoreJSF.war".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.unit."StoreJSF.war".POST_MODULE: Failed to process phase POST_MODULE of deployment "StoreJSF.war"
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [rt.jar:1.7.0]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [rt.jar:1.7.0]
    at java.lang.Thread.run(Unknown Source) [rt.jar:1.7.0]
Caused by: java.lang.RuntimeException: Error getting reflective information for class com.store.controllers.OrderController with ClassLoader ModuleClassLoader for Module "deployment.StoreJSF.war:main" from Service Module Loader
    at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:70) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.as.ee.metadata.MethodAnnotationAggregator.runtimeAnnotationInformation(MethodAnnotationAggregator.java:58)
    at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.handleAnnotations(InterceptorAnnotationProcessor.java:85)
    at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.processComponentConfig(InterceptorAnnotationProcessor.java:70)
    at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.deploy(InterceptorAnnotationProcessor.java:55)
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    ... 5 more
Caused by: java.lang.NoClassDefFoundError: Lcom/store/ejb/OrderBeanLocal;
    at java.lang.Class.getDeclaredFields0(Native Method) [rt.jar:1.7.0]
    at java.lang.Class.privateGetDeclaredFields(Unknown Source) [rt.jar:1.7.0]
    at java.lang.Class.getDeclaredFields(Unknown Source) [rt.jar:1.7.0]
    at org.jboss.as.server.deployment.reflect.ClassReflectionIndex.<init>(ClassReflectionIndex.java:57) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:66) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
    ... 10 more
Caused by: java.lang.ClassNotFoundException: com.store.ejb.OrderBeanLocal from [Module "deployment.StoreJSF.war:main" from Service Module Loader]
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
    ... 15 more

22:52:33,608 INFO  [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS015870: Deploy of deployment "StoreJSF.war" was rolled back with failure message {"JBAS014671: Failed services" => {"jboss.deployment.unit.\"StoreJSF.war\".POST_MODULE" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"StoreJSF.war\".POST_MODULE: Failed to process phase POST_MODULE of deployment \"StoreJSF.war\""}}
22:52:33,664 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-2) JBAS015877: Stopped deployment StoreJSF.war in 55ms
22:52:33,666 INFO  [org.jboss.as.controller] (DeploymentScanner-threads - 2) JBAS014774: Service status report
JBAS014777:   Services which failed to start:      service jboss.deployment.unit."StoreJSF.war".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.unit."StoreJSF.war".POST_MODULE: Failed to process phase POST_MODULE of deployment "StoreJSF.war"

22:52:33,668 ERROR [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) {"JBAS014653: Composite operation failed and was rolled back. Steps that failed:" => {"Operation step-2" => {"JBAS014671: Failed services" => {"jboss.deployment.unit.\"StoreJSF.war\".POST_MODULE" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"StoreJSF.war\".POST_MODULE: Failed to process phase POST_MODULE of deployment \"StoreJSF.war\""}}}}