下面列出了怎么用javax.enterprise.inject.se.SeContainer的API类实例代码及写法,或者点击链接到github查看源代码。
public static void main(String[] args) {
SeContainerInitializer containerInit = SeContainerInitializer.newInstance();
SeContainer container = containerInit.initialize();
TestService testService = container.select(TestService.class).get();
testService.test();
System.out.println(testService.hello(-1));
System.out.println(testService.hello(1));
System.out.println(testService.helloAnother("bad"));
try {
System.out.println(testService.helloAnother("foo"));
} catch (IllegalStateException e) {
System.err.println(e.getMessage());
}
System.out.println(testService.helloAnother("weld"));
container.close();
System.exit(0);
}
public static void main(String... args) {
try (SeContainer container = SeContainerInitializer
.newInstance().initialize()) {
Task appInstance = container
.select(Task.class)
.get();
//Test normal CDI
appInstance.useInjected();
//Test programmatic approach using RequestContextController
//For each of below requests a new LoginBean is injected
appInstance.doWorkInRequest("programmatic");
appInstance.doWorkInRequest("programmatic");
//Test annotation approach using @ActivateRequestContext
//For each of below requests a new LoginBean is injected
appInstance.doWorkInRequest();
appInstance.doWorkInRequest();
}
}
@Override
protected SeContainer newContainer(final WebBeansContext context) {
final Meecrowave meecrowave = new Meecrowave(builder);
if (!services.containsKey(ContextsService.class.getName())) { // forced otherwise we mess up the env with owb-se
context.registerService(ContextsService.class, new WebContextsService(context));
}
return new OWBContainer(context, meecrowave) {
{
meecrowave.bake();
}
@Override
protected void doClose() {
meecrowave.close();
}
};
}
@SuppressWarnings("unchecked")
private void assertThatSubscriberWasPublished(SeContainer container) {
assertThat(registry(container).getOutgoingNames()).contains("subscriber");
List<SubscriberBuilder<? extends Message<?>, Void>> subscriber = registry(container).getSubscribers("subscriber");
assertThat(subscriber).isNotEmpty();
List<String> list = new ArrayList<>();
Multi.createFrom().items("a", "b", "c").map(Message::of)
.onItem().invoke(m -> list.add(m.getPayload()))
.subscribe(((SubscriberBuilder<Message<?>, Void>) subscriber.get(0)).build());
assertThat(list).containsExactly("a", "b", "c");
}
private void assertThatProducerWasPublished(SeContainer container) {
assertThat(registry(container).getIncomingNames()).contains("producer");
List<PublisherBuilder<? extends Message<?>>> producer = registry(container).getPublishers("producer");
assertThat(producer).isNotEmpty();
List<String> list = producer.get(0).map(Message::getPayload)
.map(i -> (String) i)
.toList().run().toCompletableFuture().join();
assertThat(list).containsExactly("a", "b", "c");
}
public static void main(String[] args) {
try (SeContainer container = SeContainerInitializer
.newInstance().initialize()) {
Test appInstance = container
.select(Test.class)
.get();
appInstance.doWork();
}
}
public static void main(String[] args) {
try (SeContainer container = SeContainerInitializer
.newInstance().initialize()) {
Test appInstance = container
.select(Test.class)
.get();
appInstance.doWork();
}
}
public static void main(String... args) {
//Use try-with-resources for closing the SeContainer instance
try (SeContainer container = SeContainerInitializer
.newInstance().initialize()) {
//Lookup the BootCDI instance by its type.
BootCDI appInstance = container
.select(BootCDI.class)
.get();
//Once BootCDI instance is obtained we can invoke its methods
appInstance.doSomething();
}
}
public static void main(String... args) {
try (SeContainer container = SeContainerInitializer
.newInstance().initialize()) {
Test appInstance = container
.select(Test.class)
.get();
//Invoke action which raises an event that an observer listens to
appInstance.doSomething();
}
}
public static void main(String[] args) {
try (SeContainer container = SeContainerInitializer
.newInstance().initialize()) {
AccountService appInstance = container
.select(AccountService.class)
.get();
appInstance.login(1,"AG007");
appInstance.login(2,"AG007");
//3rd event should lock account and then send SMS
appInstance.login(3,"AG007");
}
}
@Test
public void injection_test() {
try (SeContainer container = SeContainerInitializer.newInstance().initialize()) {
CdiTest appInstance = container.select(CdiTest.class).get();
String msg = appInstance.doSomething();
assertNotNull(msg);
}
}
public static void main(String[] args) {
try (SeContainer container = SeContainerInitializer
.newInstance().initialize()) {
App appInstance = container
.select(App.class)
.get();
appInstance.doCRUD();
}
}
public static void main(final String[] args) {
SeContainerInitializer initializer = SeContainerInitializer.newInstance();
try (SeContainer container = initializer.initialize()) {
container.select(AccountApplication.class).get().run();
}
}
@Test
public void bootBasicContainer() {
SeContainerInitializer initializer = SeContainerInitializer.newInstance();
try (SeContainer container = initializer.initialize()) {
assertTrue(container.isRunning());
Set<Bean<?>> greeters = container.getBeanManager().getBeans("greeter");
assertTrue(greeters.size() == 1);
}
}
@Test
public void run() {
try (final SeContainer container = SeContainerInitializer.newInstance()
.addProperty("httpPort", new Meecrowave.Builder().randomHttpPort().getHttpPort())
.disableDiscovery()
.addBeanClasses(Configured.class)
.initialize()) {
final Client client = ClientBuilder.newClient();
assertNotNull(container.select(Meecrowave.class).get());
assertEquals("configured", client
.target(String.format("http://localhost:%d/configured", container.select(Meecrowave.Builder.class).get().getHttpPort()))
.request(TEXT_PLAIN_TYPE)
.get(String.class));
}
}
@Override
protected SeContainer newContainer(WebBeansContext context) {
SingletonService<WebBeansContext> singletonService = WebBeansFinder.getSingletonService();
if(singletonService instanceof HolderSingletonService) {
((HolderSingletonService) singletonService).register(context);
} else {
try {
WebBeansFinder.setSingletonService(new HolderSingletonService(context));
} catch (Exception e) {
logger.info("Unable to override OWB SingletonService", e);
}
}
return super.newContainer(context);
}
protected ChannelRegistry registry(SeContainer container) {
return container.select(ChannelRegistry.class).get();
}
public static void main(String[] args) {
SeContainer container = SeContainerInitializer.newInstance().initialize();
container.getBeanManager().createInstance().select(BeanUsingAnEmitter.class).get().periodicallySendMqttMessage();
}
public static void main(String[] args) {
SeContainer container = SeContainerInitializer.newInstance().initialize();
container.getBeanManager().createInstance().select(BeanUsingAnEmitter.class).get().periodicallySendMessageToKafka();
}
public static void main(String[] args) {
SeContainer container = SeContainerInitializer.newInstance().initialize();
container.getBeanManager().createInstance().select(BeanUsingAnEmitter.class).get().periodicallySendMessage();
}
public static void main(String[] args) {
SeContainer container = SeContainerInitializer.newInstance().initialize();
container.getBeanManager().createInstance().select(BeanUsingAnEmitter.class).get().periodicallySendMessage();
}
public static void main(String[] args) {
SeContainer container = SeContainerInitializer.newInstance().initialize();
container.getBeanManager().createInstance().select(BeanUsingAnEmitter.class).get().periodicallySendMessage();
}
public static void main(String[] args) {
SeContainer container = SeContainerInitializer.newInstance().initialize();
container.getBeanManager().createInstance().select(BeanUsingAnEmitter.class).get().periodicallySendMessage();
}
protected ChannelRegistry registry(SeContainer container) {
return container.select(ChannelRegistry.class).get();
}
public static void main(String[] args) {
SeContainer container = SeContainerInitializer.newInstance().initialize();
container.getBeanManager().fireEvent(new MyEvent("event -> " + System.currentTimeMillis()));
}
public SeContainer getSeContainer() {
return seContainer;
}
public static void main(String[] args) {
SeContainerInitializer initializer = SeContainerInitializer.newInstance();
try (SeContainer container = initializer.initialize()) {
}
}
public static void main(String... args) {
SeContainerInitializer containerInitializer = SeContainerInitializer.newInstance();
try (SeContainer container = containerInitializer.initialize()) {
container.getBeanManager().fireEvent(new ExampleEvent("Welcome to Baeldung!"));
}
}