問題が発生しました。exxh EJB です。
まず、私のセットアップ: GlassFish と JEE6 を使用しています。WAR としてパッケージ化された REST サービスと、EJB-Jar としてパッケージ化された Bean があります。それらは EAR 内にはありません。EJB は @EJB を介して REST-WAR から使用する必要がありますが、WAR をデプロイしようとすると、GlassFish に次のエラーが表示されます。
展開中にエラーが発生しました:
Exception while deploying the app [exx-upload-1.0] : Cannot resolve reference Local ejb-ref name=com.ex.exx.model.FileUpload/ocr,Local 3.x interface =com.ex.exx.api.IOCRService,ejb-link=null,lookup=,mappedName=,jndi-name=,refType=Session. Please see server.log for more details.
(EJB は以前にエラーなしでデプロイされていました)。
理由はわかりません。EJB コードは次のとおりです。
インターフェース:
@Local
public interface IOCRService {
public String performOCRonImage(BufferedImage input);
}
および実装:
@Stateless
@LocalBean
public class OCRScanner implements IOCRService {
private Logger logger = Logger.getLogger(this.getClass().getName());
private final static String NOT_RECOGNIZED = "Can not regocnize text";
/**
* Default constructor.
*/
public OCRScanner() {
logger.log(Level.INFO, "### OCR SCANNER BUILD" + this);
}
public String performOCRonImage(BufferedImage input) {
logger.log(Level.INFO, "### OCR SCANNER CALLED" + this);
}
...
WAR の重要な部分は次のとおりです。
public class FileUpload {
private final File PROPERTIES_FILE = new File(
"fileUploadProperties.properties");
private final String PARAMETER_NAME = "file";
private final Logger logger = Logger.getLogger(this.getClass().getName());
@EJB
private IOCRService ocr;
public Response uploadFile(...) {
// do some stuff
logger.log(Level.INFO, "### EJB" + ocr.toString())
}
アニーの提案はありますか?私はここで私の失敗を見つけることができません。