You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@deltaspike.apache.org by "Seto (JIRA)" <ji...@apache.org> on 2016/08/31 05:14:20 UTC
[jira] [Updated] (DELTASPIKE-1199) Problems with ContextControl
and Weld ContainerInitialized, ContainerShutdown event.
[ https://issues.apache.org/jira/browse/DELTASPIKE-1199?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Seto updated DELTASPIKE-1199:
-----------------------------
Description:
No replies in user mail list. So I submit an issue here. And I think it's a bug as well.
I have an @ApplicationScoped bean. It observes ContainerInitialized and ContainerShutdown event.
{code:title=Kernel.java|borderStyle=solid}
public Kernel(){
System.out.println("Kernel constructed");
}
public void onContainerInitialized(@Observes ContainerInitialized event, @Parameters List<String> parameters) {
System.out.println("container initialized");
}
public void onContainerShutdown(@Observes ContainerShutdown event){
System.out.println("container shutdown");
}
{code}
Then the kernel is constructed twice with the code below, one after boot, one after shutdown.
{code:title=Test.java|borderStyle=solid}
public class Test {
public static void main(String[] args) {
CdiContainer cdiContainer = CdiContainerLoader.getCdiContainer();
cdiContainer.boot();
// Starting the application-context enables use of @ApplicationScoped beans
ContextControl contextControl = cdiContainer.getContextControl();
contextControl.startContext(ApplicationScoped.class);
// You can use CDI here
contextControl.stopContext(ApplicationScoped.class);
cdiContainer.shutdown();
}
}
{code}
If I remove the ContextControl related code. Then it is constructed only once after boot.
If I keep the ContextControl related code and remove the observation of ContainerInitialized. Then it is constructed only after shutdown.
If I keep the ContextControl related code and remove the observation of ContainerShutdown. Then it is constructed only after shutdown.
What I expect is it is constructed only once after boot even I keep the ContextControl related code.
was:
No replies in user mail list. So I submit an issue here. And I think it's a bug as well.
I have an @ApplicationScoped bean. It observes ContainerInitialized and ContainerShutdown event.
public Kernel()
{
System.out.println("Kernel constructed");
}
public void onContainerInitialized(@Observes ContainerInitialized event, @Parameters List<String> parameters) {
System.out.println("container initialized");
}
public void onContainerShutdown(@Observes ContainerShutdown event){
System.out.println("container shutdown");
}Then the kernel is constructed twice with the code below, one after boot, one after shutdown.
public class Test {
public static void main(String[] args) {
CdiContainer cdiContainer = CdiContainerLoader.getCdiContainer();
cdiContainer.boot();
// Starting the application-context enables use of @ApplicationScoped beans
ContextControl contextControl = cdiContainer.getContextControl();
contextControl.startContext(ApplicationScoped.class);
// You can use CDI here
contextControl.stopContext(ApplicationScoped.class);
cdiContainer.shutdown();
}
}
If I remove the ContextControl related code. Then it is constructed only once after boot.
If I keep the ContextControl related code and remove the observation of ContainerInitialized. Then it is constructed only after shutdown.
If I keep the ContextControl related code and remove the observation of ContainerShutdown. Then it is constructed only after shutdown.
What I expect is it is constructed only once after boot even I keep the ContextControl related code.
> Problems with ContextControl and Weld ContainerInitialized, ContainerShutdown event.
> -------------------------------------------------------------------------------------
>
> Key: DELTASPIKE-1199
> URL: https://issues.apache.org/jira/browse/DELTASPIKE-1199
> Project: DeltaSpike
> Issue Type: Bug
> Components: CdiControl
> Affects Versions: 1.7.1
> Reporter: Seto
>
> No replies in user mail list. So I submit an issue here. And I think it's a bug as well.
> I have an @ApplicationScoped bean. It observes ContainerInitialized and ContainerShutdown event.
> {code:title=Kernel.java|borderStyle=solid}
> public Kernel(){
> System.out.println("Kernel constructed");
> }
> public void onContainerInitialized(@Observes ContainerInitialized event, @Parameters List<String> parameters) {
> System.out.println("container initialized");
> }
> public void onContainerShutdown(@Observes ContainerShutdown event){
> System.out.println("container shutdown");
> }
> {code}
> Then the kernel is constructed twice with the code below, one after boot, one after shutdown.
> {code:title=Test.java|borderStyle=solid}
> public class Test {
> public static void main(String[] args) {
> CdiContainer cdiContainer = CdiContainerLoader.getCdiContainer();
> cdiContainer.boot();
> // Starting the application-context enables use of @ApplicationScoped beans
> ContextControl contextControl = cdiContainer.getContextControl();
> contextControl.startContext(ApplicationScoped.class);
> // You can use CDI here
> contextControl.stopContext(ApplicationScoped.class);
> cdiContainer.shutdown();
> }
> }
> {code}
> If I remove the ContextControl related code. Then it is constructed only once after boot.
> If I keep the ContextControl related code and remove the observation of ContainerInitialized. Then it is constructed only after shutdown.
> If I keep the ContextControl related code and remove the observation of ContainerShutdown. Then it is constructed only after shutdown.
> What I expect is it is constructed only once after boot even I keep the ContextControl related code.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)