我很难理解如何调用ejb,因为我通过一个简单的例子得到了错误。
我有一个名为Test
的EJB项目。它只有两个类:HelloWorldBean,HelloWorldInterface
//HelloWorldBean
package com.demo;
import javax.ejb.Remote;
import javax.ejb.Stateless;
@Stateless
@Remote(HelloWorldInterface.class)
public class HelloWorldBean implements HelloWorldInterface {
public String helloWorld() {
return "Hello world !";
}
}
//HelloWorldInterface
package com.demo;
public interface HelloWorldInterface {
String helloWorld();
}
两者都打包在名为Test.WAR
的WAR中,里面有Test.jar,它部署在WAS 7.0服务器中。
我有另一个名为TestWeb
的项目,它将被打包并部署在同一台服务器中。
在这里,我实现了mvc的控制器。
package controller;
import javax.ejb.EJB;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class My_Controller {
@EJB
private HelloWorldInterface helloBean;
@RequestMapping("testpage")
public ModelAndView mostraPagina(){
ModelAndView model = new ModelAndView();
model.setViewName("testpage");
model.addObject("hello", "? " + "EJB:" + helloBean.helloWorld());
return model;
}
}
我在以下几行中收到错误:
编辑: 错误是:
HelloWorldInterface cannot be resolved to a type. Location: My_Controller.java
答案 0 :(得分:0)
我从一开始就创建了一个新的ejb项目,我选择生成他的客户端。之后,我使用远程接口创建一个会话bean,并使用RAD选项“使用Web项目公开RPC适配器服务”。 通过这种方式,我有两个带有两个罐子的EAR(包括客户端)。
粗略地说: