Hey folks

I noticed an issue when creating a resource inside an application:

package org.superbiz;


import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import java.util.logging.Logger;

public class Startup {

    private final Logger log = Logger.getLogger(Startup.class.getName());

    @PostConstruct
    public void start() {
        log.info("*** " + getClass().getName() + " started ***");
    }

    @PreDestroy
    public void stop() {
        log.info("*** " + getClass().getName() + " stopped ***");
    }

}

and using WEB-INF/resources.xml to create the resource:

<resources>
    <Resource id="Startup" class-name="org.superbiz.Startup">
        # any properties you need can go here
    </Resource>
</resources>

It looks like my @PostConstruct is called ok, but my @PreDestroy is not. I
believe this works ok with resources defined in tomee.xml, but I'm happy to
check.

I dug a bit deeper, and wrote a test. This appears to be an issue on both
master and 1.7.x. I have created two PRs, and would appreciate any thoughts.

https://github.com/apache/tomee/pull/91
https://github.com/apache/tomee/pull/92

Many thanks

Jon

Reply via email to