标签: ejb

EJB - 何时使用远程和/或本地接口?

我是Java EE的新手,我正在尝试理解本地接口和远程接口的概念.我被告知Java EE的一大优势是它易于扩展(我相信这意味着您可以在不同的服务器上部署不同的组件).是远程和本地接口进来的地方吗?如果您希望应用程序在不同的服务器上具有不同的组件,您是否应该使用远程接口?如果您的应用程序只驻留在一台服务器上,请使用本地接口?

如果我的上述假设是正确的,那么您将如何选择是否为新应用程序使用本地或远程接口,而您不确定流量的大小是多少?从使用本地接口开始,逐步升级到适用的远程接口?

感谢您的任何澄清和建议.

java ejb java-ee

177
推荐指数
4
解决办法
8万
查看次数

Java EE究竟是什么?

我已经做了几年的Java SE并继续使用Java EE.但是我在理解Java EE的某些方面时遇到了一些麻烦.

  1. Java EE只是一个规范吗?我的意思是:EJB Java EE?

  2. EJB/Spring是不同的Java EE实现?

很抱歉,但是我很难理解Java EE是什么.有人能解释一下Java EE是什么吗?和EJB?

java ejb java-ee

152
推荐指数
2
解决办法
5万
查看次数

什么是EJB,它有什么作用?

一直试图了解EJB豆子是什么,这意味着他们的实例是在池中管理的,等等等等.真的无法抓住他们.

你能解释一下他们到底是什么(几乎是为了Java程序员)吗?他们在做什么?他们的目的是什么?为什么要真正使用它们 (为什么不坚持POJO?)也许是一个示例应用程序?

请参阅更新的信息EJB 3.1.有关EJB的日期信息可能会产生误导.

对于EJB学习初学者,请注意:

EJB基于分布式对象,这是指在由网络链接的多台机器(虚拟或物理)上运行的软件.

ejb java-ee ejb-3.1

146
推荐指数
4
解决办法
8万
查看次数

我应该使用@EJB还是@Inject

我发现了这个问题:@ Inject和@EJB之间的区别是什么,但我没有更明智.我以前没有完成Java EE,也没有依赖注入的经验,所以我不明白我应该使用什么?

@EJB和旧的注射方式?在使用@Inject时使用此批注时EJB容器是否完成注入使用新的CDI框架?这是不同的,如果是这种情况,我应该使用@Inject而不是@EJB吗?

java ejb java-ee cdi

143
推荐指数
5
解决办法
10万
查看次数

为什么数据传输对象(DTO)是反模式?

我最近听到人们说数据传输对象(DTO)是一种反模式.

为什么?有哪些替代方案?

java ejb anti-patterns data-transfer-objects dto

125
推荐指数
9
解决办法
5万
查看次数

CDI和EJB如何比较?相互作用?

我很难理解两者如何相互作用以及它们之间的界限在哪里.它们是否重叠?他们之间有冗余吗?

我知道有两个注释都有关联,但我无法通过简短的描述找到两者的完整列表.不确定这是否有助于弄清楚它们之间的区别或重叠的位置.

真的只是困惑.我(我认为)合理地理解EJB,我想我很难理解CDI带来的确切内容以及它如何取代或增强EJB已经提供的内容.

java ejb cdi java-ee-6

103
推荐指数
2
解决办法
4万
查看次数

无法实例化List <Product>类型

我有以下代码:

List<Product> product = new List<Product>();
Run Code Online (Sandbox Code Playgroud)

错误:

Cannot instantiate the type List<Product>
Run Code Online (Sandbox Code Playgroud)

Product是我的EJB项目中的实体.为什么我收到此错误?

java ejb initialization list

101
推荐指数
4
解决办法
14万
查看次数

无状态和有状态企业Java Bean

我正在阅读Java EE 6教程,我试图理解无状态和有状态会话bean之间的区别.如果无状态会话bean在方法调用之间不保持其状态,为什么我的程序按照它的方式运行?

package mybeans;

import javax.ejb.LocalBean;
import javax.ejb.Stateless;

@LocalBean
@Stateless
public class MyBean {

    private int number = 0;

    public int getNumber() {
        return number;
    }

    public void increment() {
        this.number++;
    }
}
Run Code Online (Sandbox Code Playgroud)

客户端

import java.io.IOException;
import javax.ejb.EJB;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.WebServlet;
import mybeans.MyBean;
import java.io.PrintWriter;

@WebServlet(name = "ServletClient", urlPatterns = { "/ServletClient" })
public class ServletClient extends HttpServlet {
    private static final long serialVersionUID = 1L;

    @EJB
    MyBean mybean;

    protected void doGet(HttpServletRequest request,
            HttpServletResponse response) throws …
Run Code Online (Sandbox Code Playgroud)

java ejb java-ee stateful-session-bean ejb-3.1

89
推荐指数
5
解决办法
9万
查看次数

何时在无状态会话bean上使用有状态会话bean?

有状态会话bean定义如下:

有状态会话Bean对象的状态由其实例变量的值组成.在有状态会话bean中,实例变量表示唯一的客户端bean会话的状态.因为客户端与其bean交互("会话"),所以这种状态通常称为会话状态.

无状态会话bean定义如下:

无状态会话Bean无状态会话Bean不与客户端保持会话状态.当客户端调用无状态bean的方法时,bean的实例变量可能包含特定于该客户端的状态,但仅限于调用期间.方法完成后,不应保留特定于客户端的状态.但是,客户端可以更改池化无状态bean中的实例变量的状态,并且此状态将保留到池化无状态bean的下一次调用.除了在方法调用期间,无状态bean的所有实例都是等效的,允许EJB容器将实例分配给任何客户端.也就是说,无状态会话bean的状态应该适用于所有客户端.

使用无状态会话bean而不是有状态会话bean的优点如下:

由于无状态会话bean可以支持多个客户端,因此它们可以为需要大量客户端的应用程序提供更好的可伸缩性.通常,应用程序比有状态会话bean需要更少的无状态会话Bean,以支持相同数量的客户端.

所以我想到的问题是,何时应该使用有状态会话bean?为了我对这个问题的天真理解,我应该坚持使用无状态会话bean.

应该使用有状态会话bean的候选者是什么?有什么好例子吗?

会话Bean

java spring ejb stateless-session-bean stateful-session-bean

78
推荐指数
2
解决办法
7万
查看次数

EJB中的本地/远程和无接口视图是什么?

我试图了解我们在EJB中需要不同客户端视图的目的和原因.有人可以试着解释一下吗?

java ejb java-ee

76
推荐指数
1
解决办法
4万
查看次数