小编Rus*_*tam的帖子

将@Dependent CDI bean 注入 EJB 导致内存泄漏

使用 WildFly 18.0.1 创建多个 @Dependent 实例来测试内存泄漏

@Dependent
public class Book {
    @Inject
    protected GlobalService globalService;

    protected byte[] data;
    protected String id;

    public Book() {
    }

    public Book(GlobalService globalService) {
        this.globalService = globalService;
        init();
    }

    @PostConstruct
    public void init() {
        this.data = new byte[1024];
        Arrays.fill(data, (byte) 7);
        this.id = globalService.getId();
    }
}


@ApplicationScoped
public class GlobalFactory {
    @Inject
    protected GlobalService globalService;
    @Inject
    private Instance<Book> bookInstance;

    public Book createBook() {
        return bookInstance.get();
    }

    public Book createBook2() {
        Book b = bookInstance.get()
        bookInstance.destroy(b); …
Run Code Online (Sandbox Code Playgroud)

memory-leaks ejb cdi weld jakarta-ee

5
推荐指数
1
解决办法
451
查看次数

标签 统计

cdi ×1

ejb ×1

jakarta-ee ×1

memory-leaks ×1

weld ×1