gpt4 book ai didi

java - 如何将 ear 应用程序重写为 Spring

转载 作者:行者123 更新时间:2023-11-30 11:26:30 25 4
gpt4 key购买 nike

我有一些 ear 应用程序需要重写到 spring。 War 包含一个运行 EJB 的类:

/**
* The ear initialization.
*/
public final class Startup extends HttpServlet {

private static final long serialVersionUID = 6465240550145652729L;

@EJB(name="MyStartupBean")
private MyBeanLocal bean;

@Override
public void init(final ServletConfig servletConfiguration) throws ServletException {
bean.start();
}


@Override
public void destroy() {
bean.stop();
}
}

EJB 包含一些每 30 秒运行一次作业的 quart 调度程序

我真的试图找到一些使用 EJB 的耳 Spring 应用程序的示例,但没有成功。我应该如何将其重写为 spring ?

最佳答案

Spring 支持@EJB(并不广为人知,但确实如此)。所以基本上你可以简单地通过删除 extends HttpServlet 将你的类移植到 spring,添加一个 @Component 注释,简化 init 方法并添加 @PostConstruct 并将 @PreDestroy 添加到 destroy 方法。

@Component
public final class Startup {

private static final long serialVersionUID = 6465240550145652729L;

@EJB(name="MyStartupBean")
private MyBeanLocal bean;

@PostConstruct
public void init() {
bean.start();
}

@PreDestroy
public void destroy() {
bean.stop();
}
}

结果会是这样。现在要么在 xml 中声明这个 bean

<bean class="Startup" />

或者使用组件扫描来检测/拾取这个 bean。

但如前所述,我可能会完全放弃 EJB,而是使用 spring 来代替 bootstrap Quartz

关于java - 如何将 ear 应用程序重写为 Spring,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19784983/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com