Я пытаюсь интегрировать EJB с Spring Boot в Wildfly. Я сделал все настройки и Wildfly запускается без проблем. Но при доступе к методу я беру это исключение:
11: 23: 34,118 ОШИБКА [org.springframework.boot.web.servlet.support.ErrorPageFilter] (задание по умолчанию-1) Пересылка на страницу с ошибкойиз запроса [/ index] из-за исключительной ситуации [EJBCLIENT000079: невозможно найти место назначения для запроса EJB StatelessEJBLocator для «/ corporativo / HelloStatefulWorld», представление - интерфейс br.com.ejb.teste.HelloStatefulWorld, сходство отсутствует]: javax.ejbИсключение(EJBClientInvocationContext.java:567) в org.jboss.ejb.client.EJBClientInvocationContext.getResult (EJBClientInvocationContext.java:503) в org.jboss.ejb.protocol.remote.liv.jpgjboss.ejb.client.EJBClientInvocationContext.getResult (EJBClientInvocationContext.java:569) при org.jboss.ejb.client.EJBClientInvocationContext.getResult (EJBClientInvocationContext.java:503) в org.jboss.ejb.client.TransactionPostDiscoveryInterceptor.handleInvocationResult (TransactionPostDiscoveryInterceptor.java:133) по адресу org.jboss.ejb.client.EJBClientInvocationContext.getResult (EJBClientInvocationContext.java:569) по адресу org.jboss.ejb.client.EJBClientInvocationContext.getRjent.jb«jboss.ejb.client.NamingEJBClientInterceptor.handleInvocationResult (NamingEJBClientInterceptor.java:78) в org.jboss.ejb.client.EJBClientInvocationContext.getResult (EJBClientInvocationContext.java:569) в org.jboss.ejb.client.EJBClientInvocationContext.getResult (EJBClientInvocationContext.java:503) в org.jboss.ejb.client.TransactionInterceptor.handle.jj.client.EJBClientInvocationContext.getResult (EJBClientInvocationContext.java:569) при org.jboss.ejb.client.EJBClientInvocationContext.getResult (EJBClientInvocationContext.java:503) в org.jboss.ejb.client.EJBClientInvocationContext.awaitResponse (EJBClientInvocationContext.java:913) в org.jboss.ejb.client.EJBInvocationHandler.invoke (EJBInvocationHandler.java:177) в org.jboss.ejb.client.EJBInvocationHandler.invoke (EJBInvocationHandler.java.sun.xylo.xylox100)(Неизвестный источник) по адресу br.com.springWeb.AloMundo.index (AloMundo.java:28) по адресу sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) по адресу sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAjor).reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) по адресу java.lang.reflect.Method.invoke (Method.java:498) по адресу org.springframework.web.method.support.InvocableHandlerMethod.doInvoke (InvocableHandlerMethoraj).method.support. .method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod (RequestMappingHandlerAdapter.java:892) вorg.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal (RequestMappingHandlerAdapter.java:797) в org.springframework.web.servlet.mvc.method.AbstractHandlerMethogspringframework.web. Java: 1005) в org.springframework.web.servlet.FrameworkServlet.doGet (FrameworkServlet.java:897) в javax.servlet.http.HttpServlet.service (HttpServlet.java:687) в org.springfworkme.web.web.service (FrameworkServlet.java:882) в javax.servlet.http.HttpServlet.service (HttpServlet.java:790) в io.undertow.servlet.handlers.ServletHandler.handleRequest (ServletHandler.java:74to) в io. servlet.handlers.FilterHandler $ FilterChainImpl.doFilter (FilterHandler.java:129) в org.springframework.web.filter.RequestContextFilter.doFilterInternal (RequestContextFilter.java:99) в org.springframework.web.filter.OncePerRequestFilter.doFilter (Once8ertowj):.core.ManagedFilter. : 92) в org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:118) в io.undertow.servlet.core.ManagedFilter.doFilter (ManagedFilter.java:61) в io.undertow. FilterHandler $ FilterChainImpl.doFilter (FilterHandler.java:131) в оргв io.undertow.servlet.core.ManagedFilter.doFilter (УправлениеdFilter.java:61) at io.undertow.servlet.handlers.FilterHandler $ FilterChainImpl.doFilter (FilterHandler.java:131) в org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter) ErrorPageна org.springframework.boot.web.servlet.support.ErrorPageFilter.access $ 000 (ErrorPageFilter.java:66) на org.springframework.boot.web.servlet.support.ErrorPageFilter $ 1.doFilterInternal (ErrorPageF3). .springframework.web.filter.OncePerRequestFilter. .doFilter (ManagedFilter.java:61) в io.undertow.servlet.handlers.FilterHandler $ FilterChainImpl.doFilter (FilterHandler.java:131) в org.springframework.web.filter.CharacterEncodingFilter.doilEncorg.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:118) в io.undertow.servlet.core.ManagedFilter.doFilter (ManagedFilter.java:61) на io.undertow.servlet.handlers.FilterHandler $ FilterChainImpl.doFilter (FilterHandler.java:131) на io.undertow.servlet.handlers.Fillequand (FilterHandler.java:84) в io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest (ServletSecurityRoleHandler.java:62) в io.undertow.servlet.handlers.ServletChain $ 1.handleRehaest (серво-отправитель: 68undertow.servlet.handlers.ServletDispatchingHandler.handleRequest (ServletDispatchingHandler.java:36) в org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest (SecurityContextAssociationH78ler)io.undertow.server.handlers.PredicateHandler.handleRequest (PredicateHandler.java:43) в io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest (SSLInformationAssociationHandler.java:132) .security. ServletAuthenticationCallHandler.handleRequest (ServletAuthenticationCallHandler.java:57) в io.undertow.server.handlers.PredicateHandler.handleRequest (PredicateHandler.java:43) в io.undertow.security.handlers.Ajljj.undertow.servlet.handlers.security. .handleRequest (CachedAuthenticatedSessionHandler.java:77) в io.undertow.security.handlers.NotificationReceiverHandler. .wildfly. .GlobalRequestControllerHandler. io.undertow.servlet.handlers.ServletInitialHandler.access $ 100 (ServletInitialHandler.java:81) в io.undertow.servlet.handlers.ServletInitialHandler $ 2.call (ServletInitialHandler.java:138)по адресу io.undertow.servlet.handlers.ServletInitialHandler $ 2.call (ServletInitialHandler.java:135) по адресу io.undertow.servlet.core.ServletRequestContextThreadSetupAction $ 1.call (сервлет_процесса.вложения_приложения$ 1.call (ContextClassLoaderSetupAction.java:43) по адресу org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda $ создать $ 0 (SecurityContextThreadSetupAction.java:105) в org.wildfly.extationwwwDwDWD$ create $ 0 (UndertowDeploymentInfoService.java:1514) в org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService $ UndertowThreadSetupAction.lambda $ create $ 0 (UndertowDeploymentInfoService.juper.wava.weg. .lambda $ create $ 0 (UndertowDeploymentInfoService.java:1514) в org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService $ UndertowThreadSetupAction.lambda $ создать $ 0 (UndertowDeploymentInfoService.java:1514) в io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest (ServletInitialHandler.java:272). Java: 81) в io.undertow.servlet.handlers.ServletInitialHandler $ 1.handleRequest (ServletInitialHandler.java:104) в io.undertow.server.Connectors.executeRootHandler (Connectors.java:360) в io.underExper 1.run (HttpServerExchange.java:830) в org.jboss.threads.ContextClassLoaderSavingRunnable.run (ContextClassLoaderSavingRunnable.java:35) в org.jboss.threads.EnhancedQueueExueutor.safeRuehorg.jboss. 745)
Пружинный класс
@SpringBootApplication
public class SpringWebApplication {
public static void main(String[] args) {
SpringApplication.run(SpringWebApplication.class, args);
System.out.println("FIM");
}
@Bean
public RestTemplate rest() {
return new RestTemplate();
}
@Bean
public Context context() throws NamingException {
System.out.println("########################################### CONTEXT ########################################### ");
Properties properties = new Properties();
properties.put("java.naming.factory.initial", "org.wildfly.naming.client.WildFlyInitialContextFactory");
return new InitialContext(properties);
}
@Bean
public HelloStatefulWorld helloStatefulWorld(Context context) throws NamingException {
System.out.println("########################################### STATEFULL ########################################### ");
return (HelloStatefulWorld) context.lookup(this.getFullName(HelloStatefulWorld.class));
}
@Bean
public HelloStatelessWorld helloStatelessWorld(Context context) throws NamingException {
System.out.println("########################################### STATELESS ########################################### ");
return (HelloStatelessWorld) context.lookup(this.getFullName(HelloStatelessWorld.class));
}
@SuppressWarnings("rawtypes")
private String getFullName(Class classType) {
System.out.println("########################################### FULL NAME ########################################### ");
String moduleName = "ejb:/corporativo/";
String beanName = classType.getSimpleName();
String viewClassName = classType.getName();
return moduleName + beanName + "!" + viewClassName;
}
}
контроллер
@Controller("/AloMundo")
public class AloMundo {
@Autowired
private HelloStatefulWorld helloStatefulWorld;
@Autowired
private HelloStatelessWorld helloStatelessWorld;
@RequestMapping(value = "/index", method = RequestMethod.GET)
public ModelAndView index() {
System.out.println("FOI");
System.out.println("" + helloStatefulWorld.getHelloWorld());
ModelAndView mv = new ModelAndView("index");
return mv;
}
}
EJB-класс
@Stateful(name = "HelloStatefulWorldBean")
public class HelloStatefulWorldBean implements HelloStatefulWorld {
private int homManyTimes = 0;
@Override
public int howManyTimes() {
return homManyTimes;
}
@Override
public String getHelloWorld() {
homManyTimes++;
return "Hello Stateful World";
}
}
Мне нужно подключиться черезЛокальный поиск, EJB-проект с приложением Spring Boot.