簡體   English   中英

從 Jboss 4.2.3 遷移到 Wildfly 8

[英]Migrate from Jboss 4.2.3 to Wildfly 8

我正在嘗試將一個非常舊的 java 應用程序從 Jboss 4.2.3 遷移到 Wildfly 8。我剛剛安裝了 Wildfly 服務器和最小的配置。

在我的應用程序中,我的 JNDI.properties 文件是:

java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
java.naming.provider.url=localhost:1099

所以我將其更新為:

java.naming.factory.url.pkgs=org.jboss.ejb.client.naming

調用 EJB 的代碼是:

Properties ht = new Properties();
ht.load(BIServicesImpl.class.getClassLoader().getResourceAsStream("jndi.properties"));
Context context = new InitialContext(ht);
return (ServiceEntryPoint) context.lookup("BIServeurMetier/ServiceEntryPointBean/remote");

Wildfly 8 中的 JNDI 路徑已更改,因此我使用了:

Properties ht = new Properties();
ht.load(BIServicesImpl.class.getClassLoader().getResourceAsStream("jndi.properties"));
Context context = new InitialContext(ht);
return (ServiceEntryPoint) context.lookup("BIServeurMetier/BIServeurMetier/ServiceEntryPointBean!com.al6.bi.business.ServiceEntryPoint"); 

我將我的應用程序戰爭部署到其中,然后啟動它,它運行得很好:

2022-06-27 16:21:00,773 INFO  [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor] (MSC service thread 1-3) JNDI bindings for session bean named ServiceEntryPointBean in deployment unit subdeployment "BIServeurMetier.jar" of deployment "BIServeurMetier.ear" are as follows:

    java:global/BIServeurMetier/BIServeurMetier/ServiceEntryPointBean!com.al6.bi.business.ServiceEntryPoint
    java:app/BIServeurMetier/ServiceEntryPointBean!com.al6.bi.business.ServiceEntryPoint
    java:module/ServiceEntryPointBean!com.al6.bi.business.ServiceEntryPoint
    java:jboss/exported/BIServeurMetier/BIServeurMetier/ServiceEntryPointBean!com.al6.bi.business.ServiceEntryPoint
    java:global/BIServeurMetier/BIServeurMetier/ServiceEntryPointBean
    java:app/BIServeurMetier/ServiceEntryPointBean
    java:module/ServiceEntryPointBean

因此,EJB 接縫可以很好地部署。 但是,當我嘗試對應用程序執行任何操作時,出現此錯誤:

2022-06-27 16:21:41,536 ERROR [stderr] (default task-25) javax.naming.NameNotFoundException: BIServeurMetier/BIServeurMetier/ServiceEntryPointBean!com.al6.bi.business.ServiceEntryPoint -- service jboss.naming.context.java.BIServeurMetier.BIServeurMetier."ServiceEntryPointBean!com.al6.bi.business.ServiceEntryPoint"
2022-06-27 16:21:41,537 ERROR [stderr] (default task-25)    at org.jboss.as.naming.ServiceBasedNamingStore.lookup(ServiceBasedNamingStore.java:104)
2022-06-27 16:21:41,537 ERROR [stderr] (default task-25)    at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:202)
2022-06-27 16:21:41,537 ERROR [stderr] (default task-25)    at org.jboss.as.naming.InitialContext$DefaultInitialContext.lookup(InitialContext.java:233)
2022-06-27 16:21:41,537 ERROR [stderr] (default task-25)    at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:188)
2022-06-27 16:21:41,537 ERROR [stderr] (default task-25)    at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:184)
2022-06-27 16:21:41,538 ERROR [stderr] (default task-25)    at javax.naming.InitialContext.lookup(InitialContext.java:417)
2022-06-27 16:21:41,538 ERROR [stderr] (default task-25)    at javax.naming.InitialContext.lookup(InitialContext.java:417)
2022-06-27 16:21:41,539 ERROR [stderr] (default task-25)    at com.al6.bi.gwt.server.BIServicesImpl.buildBusinessServices(BIServicesImpl.java:227)
2022-06-27 16:21:41,539 ERROR [stderr] (default task-25)    at com.al6.bi.gwt.server.BIServicesImpl.<init>(BIServicesImpl.java:213)
2022-06-27 16:21:41,539 ERROR [stderr] (default task-25)    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
2022-06-27 16:21:41,539 ERROR [stderr] (default task-25)    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
2022-06-27 16:21:41,540 ERROR [stderr] (default task-25)    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
2022-06-27 16:21:41,540 ERROR [stderr] (default task-25)    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
2022-06-27 16:21:41,541 ERROR [stderr] (default task-25)    at org.jboss.as.ee.component.ConstructorComponentFactory.create(ConstructorComponentFactory.java:24)
2022-06-27 16:21:41,541 ERROR [stderr] (default task-25)    at org.jboss.as.ee.component.ComponentInstantiatorInterceptor.processInvocation(ComponentInstantiatorInterceptor.java:68)
2022-06-27 16:21:41,541 ERROR [stderr] (default task-25)    at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
2022-06-27 16:21:41,542 ERROR [stderr] (default task-25)    at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53)
2022-06-27 16:21:41,542 ERROR [stderr] (default task-25)    at org.jboss.as.ee.component.AroundConstructInterceptorFactory$1.processInvocation(AroundConstructInterceptorFactory.java:26)
2022-06-27 16:21:41,543 ERROR [stderr] (default task-25)    at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
2022-06-27 16:21:41,543 ERROR [stderr] (default task-25)    at org.jboss.as.ee.concurrent.ConcurrentContextInterceptor.processInvocation(ConcurrentContextInterceptor.java:45)
2022-06-27 16:21:41,544 ERROR [stderr] (default task-25)    at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
2022-06-27 16:21:41,544 ERROR [stderr] (default task-25)    at org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:64)
2022-06-27 16:21:41,544 ERROR [stderr] (default task-25)    at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
2022-06-27 16:21:41,544 ERROR [stderr] (default task-25)    at org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:326)
2022-06-27 16:21:41,545 ERROR [stderr] (default task-25)    at org.jboss.invocation.PrivilegedWithCombinerInterceptor.processInvocation(PrivilegedWithCombinerInterceptor.java:80)
2022-06-27 16:21:41,545 ERROR [stderr] (default task-25)    at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
2022-06-27 16:21:41,545 ERROR [stderr] (default task-25)    at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
2022-06-27 16:21:41,545 ERROR [stderr] (default task-25)    at org.jboss.as.ee.component.BasicComponent.constructComponentInstance(BasicComponent.java:160)
2022-06-27 16:21:41,547 ERROR [stderr] (default task-25)    at org.jboss.as.ee.component.BasicComponent.constructComponentInstance(BasicComponent.java:133)
2022-06-27 16:21:41,547 ERROR [stderr] (default task-25)    at org.jboss.as.ee.component.BasicComponent.createInstance(BasicComponent.java:89)
2022-06-27 16:21:41,547 ERROR [stderr] (default task-25)    at org.jboss.as.ee.component.ComponentRegistry$ComponentManagedReferenceFactory.getReference(ComponentRegistry.java:149)
2022-06-27 16:21:41,547 ERROR [stderr] (default task-25)    at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$5.createInstance(UndertowDeploymentInfoService.java:1233)
2022-06-27 16:21:41,548 ERROR [stderr] (default task-25)    at io.undertow.servlet.core.ManagedServlet$DefaultInstanceStrategy.start(ManagedServlet.java:215)
2022-06-27 16:21:41,548 ERROR [stderr] (default task-25)    at io.undertow.servlet.core.ManagedServlet.getServlet(ManagedServlet.java:163)
2022-06-27 16:21:41,548 ERROR [stderr] (default task-25)    at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)
2022-06-27 16:21:41,548 ERROR [stderr] (default task-25)    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:130)
2022-06-27 16:21:41,549 ERROR [stderr] (default task-25)    at com.al6.bi.gwt.server.security.BasicSessionFilter.doFilter(BasicSessionFilter.java:60)
2022-06-27 16:21:41,549 ERROR [stderr] (default task-25)    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60)
2022-06-27 16:21:41,549 ERROR [stderr] (default task-25)    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132)
2022-06-27 16:21:41,549 ERROR [stderr] (default task-25)    at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:85)
2022-06-27 16:21:41,549 ERROR [stderr] (default task-25)    at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
2022-06-27 16:21:41,550 ERROR [stderr] (default task-25)    at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
2022-06-27 16:21:41,550 ERROR [stderr] (default task-25)    at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
2022-06-27 16:21:41,550 ERROR [stderr] (default task-25)    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
2022-06-27 16:21:41,550 ERROR [stderr] (default task-25)    at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
2022-06-27 16:21:41,551 ERROR [stderr] (default task-25)    at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
2022-06-27 16:21:41,551 ERROR [stderr] (default task-25)    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
2022-06-27 16:21:41,551 ERROR [stderr] (default task-25)    at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
2022-06-27 16:21:41,551 ERROR [stderr] (default task-25)    at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
2022-06-27 16:21:41,551 ERROR [stderr] (default task-25)    at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58)
2022-06-27 16:21:41,552 ERROR [stderr] (default task-25)    at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:70)
2022-06-27 16:21:41,553 ERROR [stderr] (default task-25)    at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76)
2022-06-27 16:21:41,553 ERROR [stderr] (default task-25)    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
2022-06-27 16:21:41,554 ERROR [stderr] (default task-25)    at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
2022-06-27 16:21:41,556 ERROR [stderr] (default task-25)    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
2022-06-27 16:21:41,557 ERROR [stderr] (default task-25)    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
2022-06-27 16:21:41,559 ERROR [stderr] (default task-25)    at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:261)
2022-06-27 16:21:41,559 ERROR [stderr] (default task-25)    at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:248)
2022-06-27 16:21:41,564 ERROR [stderr] (default task-25)    at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:77)
2022-06-27 16:21:41,565 ERROR [stderr] (default task-25)    at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:167)
2022-06-27 16:21:41,565 ERROR [stderr] (default task-25)    at io.undertow.server.Connectors.executeRootHandler(Connectors.java:199)
2022-06-27 16:21:41,565 ERROR [stderr] (default task-25)    at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:761)
2022-06-27 16:21:41,565 ERROR [stderr] (default task-25)    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
2022-06-27 16:21:41,566 ERROR [stderr] (default task-25)    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
2022-06-27 16:21:41,566 ERROR [stderr] (default task-25)    at java.lang.Thread.run(Thread.java:748)

EJB 的路徑似乎不錯,因為它在服務器啟動時顯示在服務器日志的開頭。 那么我做錯了什么?

我還通過 JNDI 中的管理控制台檢查,我的 EJB 在這里並列出。

JNP 是舊的 JNDI 實現,您需要更新您的 jndi.properties。 我認為對於 WildFly 8,它是:final Properties env = new Properties(); env.put(Context.INITIAL_CONTEXT_FACTORY, org.jboss.naming.remote.client.InitialContextFactory.class.getName()); env.put(Context.PROVIDER_URL, "remote://localhost:4447"); remoteContext = new InitialContext(env);

除了 ehsavoie 回答之外,我還需要欺騙一些東西才能使其正常工作。

我按照這里的教程:

https://docs.jboss.org/author/display/WFLY10/EJB%20invocations%20from%20a%20remote%20client%20using%20JNDI.html

和這里 :

https://docs.jboss.org/author/display/WFLY10/Remote%20JNDI%20Reference%20Update%20Draft.html

事實上,在我的情況下,我不需要http遠程模式,只是一個簡單的EJB模式,所以不需要在JNDI.properties中放入復雜的參數。

我刪除了我的 jndi.properties 文件,並將代碼更新為:

final Hashtable jndiProperties = new Hashtable();
jndiProperties.put(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming");
final Context context = new InitialContext(jndiProperties);
return (ServiceArchiveEntryPoint) context.lookup("ejb:BIServeurMetier/BIServeurMetier//ServiceArchiveEntryPointBean!com.al6.bi.business.ServiceArchiveEntryPoint");

在我在該代碼之前的第一次嘗試中,它不起作用。 我認為這是因為我沒有放正確的路徑。 規則似乎是:

context.lookup("ejb:" + appName + "/" + moduleName + "/" + distinctName + "/" + beanName + "!" + viewClassName);

在此之前,我沒有放一個“distinctName”,但似乎如果我們沒有,就放一個空字符串,所以在我的情況下它給出了“//”。

也許是這樣,也許是“ejb:”前綴,我不知道是哪個更改使它起作用,但它現在起作用了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM