Closed primary closed 5 years ago
看起来是 SOFAArk 的问题?cc @QilongZhang
<dependency>
<groupId>com.alipay.sofa</groupId>
<artifactId>sofa-jarslink-ark-starter</artifactId>
<classifier>ark-plugin</classifier>
<version>2.0.0-SNAPSHOT</version>
</dependency>
尝试引入这个依赖
<dependency> <groupId>com.alipay.sofa</groupId> <artifactId>sofa-jarslink-ark-starter</artifactId> <classifier>ark-plugin</classifier> <version>2.0.0-SNAPSHOT</version> </dependency>
尝试引入这个依赖
Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. sofa-ark>install -b file:///data0/stark/yunmo/sofa-stark/stark/stark-api/target/stark-api-0.0.1-SNAPSHOT-ark-biz.jar Biz:'stark-api:0.0.1-SNAPSHOT' is installing.
这个问题已经解决了,但是执行安装第二个biz.jar后,出现了问题
第一个biz.jar启动是成功的:
sist&retries=0&revision=1.0&side=consumer&timeout=3000×tamp=1544701514059&version=1.0], dubbo version: 2.9.4.Default, current host: 172.20.50.165
2018-12-13 19:45:14.112 INFO 20826 --- [ main] c.a.d.config.AbstractInterfaceConfig : [DUBBO] Refer dubbo service com.pinduoduo.ad.fred.contract.service.FredStarkService from url fish://172.20.16.159:21810/com.alibaba.dubbo.registry.RegistryService?actives=0&application=stark-api&check=false&cluster=failover&connections=1&dubbo=2.9.4.Default&generic=false&injvm=false&interface=com.pinduoduo.ad.fred.contract.service.FredStarkService&lazy=false&methods=query&pid=20826&proxy=javassist&retries=0&revision=1.0&side=consumer&timeout=3000×tamp=1544701514059&version=1.0, dubbo version: 2.9.4.Default, current host: 172.20.50.165
2018-12-13 19:45:14.946 INFO 20826 --- [ main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@1cf6d1be: startup date [Thu Dec 13 19:45:07 CST 2018]; root of context hierarchy
2018-12-13 19:45:15.094 INFO 20826 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2018-12-13 19:45:15.096 INFO 20826 --- [ main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
2018-12-13 19:45:15.231 INFO 20826 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-12-13 19:45:15.232 INFO 20826 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-12-13 19:45:15.377 INFO 20826 --- [ main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
Sofa-Middleware-Log SLF4J : Actual binding is of type [ com.alipay.sofa.rpc.boot Logback ]
2018-12-13 19:45:15.603 INFO 20826 --- [ main] com.alipay.sofa.common.log : Sofa-Middleware-Log SLF4J : Actual binding is of type [ com.alipay.sofa.rpc.boot Logback ]
2018-12-13 19:45:17.013 INFO 20826 --- [ main] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for JMX exposure on startup
2018-12-13 19:45:17.106 INFO 20826 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
2018-12-13 19:45:17.115 INFO 20826 --- [ main] c.p.a.s.api.core.StarkCoreApplication : Started StarkCoreApplication in 10.844 seconds (JVM running for 12.968)
Ark container started in 12695 ms.
启动第二个biz.jar失败了:
2018-12-13 19:45:35.303 INFO 20826 --- [nk-command-0-T1] o.a.coyote.http11.Http11Nio2Protocol : Pausing ProtocolHandler ["http-nio2-56001"]
2018-12-13 19:45:35.303 INFO 20826 --- [nk-command-0-T1] o.apache.catalina.core.StandardService : Stopping service [Tomcat]
2018-12-13 19:45:35.305 WARN 20826 --- [nk-command-0-T1] ationConfigEmbeddedWebApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat
2018-12-13 19:45:35.314 INFO 20826 --- [nk-command-0-T1] utoConfigurationReportLoggingInitializer :
Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled.
2018-12-13 19:45:35.320 ERROR 20826 --- [nk-command-0-T1] o.s.boot.SpringApplication : Application startup failed
org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:137) ~[spring-boot-1.5.16.RELEASE.jar!/:na]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:537) ~[spring-context-4.3.19.RELEASE.jar!/:na]
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) ~[spring-boot-1.5.16.RELEASE.jar!/:na]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693) [spring-boot-1.5.16.RELEASE.jar!/:na]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360) [spring-boot-1.5.16.RELEASE.jar!/:na]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:303) [spring-boot-1.5.16.RELEASE.jar!/:na]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1118) [spring-boot-1.5.16.RELEASE.jar!/:na]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107) [spring-boot-1.5.16.RELEASE.jar!/:na]
at com.pinduoduo.ad.stark.api.api.StarkApiApplication.main(StarkApiApplication.java:16) [stark-api-0.0.1-SNAPSHOT-ark-biz.jar!/:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_171]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_171]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_171]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_171]
at com.alipay.sofa.ark.bootstrap.MainMethodRunner.run(MainMethodRunner.java:48) [sofa-ark-archive-0.4.0.jar!/:na]
at com.alipay.sofa.ark.container.model.BizModel.start(BizModel.java:179) [sofa-ark-container-0.4.0.jar!/:na]
at com.alipay.sofa.jarslink.runtime.command.InstallCommand$1.run(InstallCommand.java:78) [sofa-jarslink-runtime-2.0.0-SNAPSHOT.jar!/:na]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_171]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_171]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_171]
Caused by: org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat
at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.initialize(TomcatEmbeddedServletContainer.java:138) ~[spring-boot-1.5.16.RELEASE.jar!/:na]
at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.<init>(TomcatEmbeddedServletContainer.java:87) ~[spring-boot-1.5.16.RELEASE.jar!/:na]
at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getTomcatEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:554) ~[spring-boot-1.5.16.RELEASE.jar!/:na]
at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:179) ~[spring-boot-1.5.16.RELEASE.jar!/:na]
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.createEmbeddedServletContainer(EmbeddedWebApplicationContext.java:164) ~[spring-boot-1.5.16.RELEASE.jar!/:na]
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:134) ~[spring-boot-1.5.16.RELEASE.jar!/:na]
... 18 common frames omitted
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardServer[-1]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) ~[tomcat-embed-core-8.5.34.jar!/:na]
at org.apache.catalina.startup.Tomcat.start(Tomcat.java:366) ~[tomcat-embed-core-8.5.34.jar!/:na]
at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.initialize(TomcatEmbeddedServletContainer.java:114) ~[spring-boot-1.5.16.RELEASE.jar!/:na]
... 23 common frames omitted
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Tomcat]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) ~[tomcat-embed-core-8.5.34.jar!/:na]
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:793) ~[tomcat-embed-core-8.5.34.jar!/:na]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ~[tomcat-embed-core-8.5.34.jar!/:na]
... 25 common frames omitted
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) ~[tomcat-embed-core-8.5.34.jar!/:na]
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422) ~[tomcat-embed-core-8.5.34.jar!/:na]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ~[tomcat-embed-core-8.5.34.jar!/:na]
... 27 common frames omitted
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:950) ~[tomcat-embed-core-8.5.34.jar!/:na]
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262) ~[tomcat-embed-core-8.5.34.jar!/:na]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ~[tomcat-embed-core-8.5.34.jar!/:na]
... 29 common frames omitted
Caused by: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost]]
at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[na:1.8.0_171]
at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[na:1.8.0_171]
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:942) ~[tomcat-embed-core-8.5.34.jar!/:na]
... 31 common frames omitted
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) ~[tomcat-embed-core-8.5.34.jar!/:na]
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1420) ~[tomcat-embed-core-8.5.34.jar!/:na]
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1410) ~[tomcat-embed-core-8.5.34.jar!/:na]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_171]
... 3 common frames omitted
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:950) ~[tomcat-embed-core-8.5.34.jar!/:na]
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:872) ~[tomcat-embed-core-8.5.34.jar!/:na]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ~[tomcat-embed-core-8.5.34.jar!/:na]
... 6 common frames omitted
Caused by: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContext[]]
at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[na:1.8.0_171]
at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[na:1.8.0_171]
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:942) ~[tomcat-embed-core-8.5.34.jar!/:na]
... 8 common frames omitted
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContext[]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) ~[tomcat-embed-core-8.5.34.jar!/:na]
... 6 common frames omitted
Caused by: org.apache.catalina.LifecycleException: Failed to initialize component [org.apache.catalina.webresources.StandardRoot@23eb3968]
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:112) ~[tomcat-embed-core-8.5.34.jar!/:na]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140) ~[tomcat-embed-core-8.5.34.jar!/:na]
at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4907) ~[tomcat-embed-core-8.5.34.jar!/:na]
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5042) ~[tomcat-embed-core-8.5.34.jar!/:na]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ~[tomcat-embed-core-8.5.34.jar!/:na]
... 6 common frames omitted
Caused by: java.lang.Error: factory already defined
at java.net.URL.setURLStreamHandlerFactory(URL.java:1112) ~[na:1.8.0_171]
at org.apache.catalina.webresources.TomcatURLStreamHandlerFactory.<init>(TomcatURLStreamHandlerFactory.java:130) ~[tomcat-embed-core-8.5.34.jar!/:na]
at org.apache.catalina.webresources.TomcatURLStreamHandlerFactory.getInstanceInternal(TomcatURLStreamHandlerFactory.java:53) ~[tomcat-embed-core-8.5.34.jar!/:na]
at org.apache.catalina.webresources.TomcatURLStreamHandlerFactory.register(TomcatURLStreamHandlerFactory.java:77) ~[tomcat-embed-core-8.5.34.jar!/:na]
at org.apache.catalina.webresources.StandardRoot.registerURLStreamHandlerFactory(StandardRoot.java:699) ~[tomcat-embed-core-8.5.34.jar!/:na]
at org.apache.catalina.webresources.StandardRoot.initInternal(StandardRoot.java:682) ~[tomcat-embed-core-8.5.34.jar!/:na]
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107) ~[tomcat-embed-core-8.5.34.jar!/:na]
... 10 common frames omitted
看报错,感觉是二个biz.jar重复创建了factory,请问如何解?
我现在是想实现这样的一个demo,发现stark-core 和 stark-api 通过SOFAArk安装的时候,第二个biz.jar报了上面的错。
@primary
因为两个应用都是 web 应用,如果需要运行两个web应用,需要将tomcat下沉为一个 ArkPlugin 并导出相关类。
@primary 因为两个应用都是 web 应用,如果需要运行两个web应用,需要将tomcat下沉为一个 ArkPlugin 并导出相关类。
有教程吗? 具体怎么操作... 不太明白
支持多web应用还在开发中,建议暂时使用第二个 biz 为 core 应用。 另外我们也在考虑提供一种运行时配置构建 synthetic-plugin 的方式,这样不需要每次将需要下沉的类提前打包成 ark plugin
@primary 因为两个应用都是 web 应用,如果需要运行两个web应用,需要将tomcat下沉为一个 ArkPlugin 并导出相关类。
有教程吗? 具体怎么操作... 不太明白
ok, 我稍后提供一个简单的demo演示
@primary 因为两个应用都是 web 应用,如果需要运行两个web应用,需要将tomcat下沉为一个 ArkPlugin 并导出相关类。
有教程吗? 具体怎么操作... 不太明白
ok, 我稍后提供一个简单的demo演示
我已经搞成一个web应用了,另外一个只暴露jvm服务,当成纯ark包提供服务就好了
@primary 因为两个应用都是 web 应用,如果需要运行两个web应用,需要将tomcat下沉为一个 ArkPlugin 并导出相关类。
有教程吗? 具体怎么操作... 不太明白
ok, 我稍后提供一个简单的demo演示
sofa-ark>install -b file:///data0/stark/yunmo/sofa-stark/stark/stark-core/target/stark-core-0.0.2-SNAPSHOT-ark-biz.jar Biz:'stark-core:0.0.2-SNAPSHOT' is installing.
sofa-ark>switch -b -n stark-core -v 0.0.2-SNAPSHOT The specified biz's state must not be deactivated.
另外这个bug 能不能打个新包出来 ...
@QilongZhang
参考该 Sample. https://github.com/QilongZhang/jarslink-demo/tree/master/multi-web-app-sample
关键在 https://github.com/QilongZhang/jarslink-demo/blob/master/multi-web-app-sample/spring-plugin/pom.xml 制作 ark plugin, 将 tomcat 下沉
参考该 Sample. https://github.com/QilongZhang/jarslink-demo/tree/master/multi-web-app-sample
关键在 https://github.com/QilongZhang/jarslink-demo/blob/master/multi-web-app-sample/spring-plugin/pom.xml 制作 ark plugin, 将 tomcat 下沉
好的,thx
另外jarslink 无法切换的问题,打个新包出来吧...
参考该 Sample. https://github.com/QilongZhang/jarslink-demo/tree/master/multi-web-app-sample 关键在 https://github.com/QilongZhang/jarslink-demo/blob/master/multi-web-app-sample/spring-plugin/pom.xml 制作 ark plugin, 将 tomcat 下沉
好的,thx
另外jarslink 无法切换的问题,打个新包出来吧...
已经上传了. 你更新下吧。
参考该 Sample. https://github.com/QilongZhang/jarslink-demo/tree/master/multi-web-app-sample 关键在 https://github.com/QilongZhang/jarslink-demo/blob/master/multi-web-app-sample/spring-plugin/pom.xml 制作 ark plugin, 将 tomcat 下沉
好的,thx 另外jarslink 无法切换的问题,打个新包出来吧...
已经上传了. 你更新下吧。
👍 验证ok
我先搭建了sofa-boot ,参考sofa-rpc文档完成配置,单独看dubbo call/service功能是没有问题的,但是我启动sofa-rpc模块后(XXX-executable-ark.jar),telnet 1234,然后check -b 发现无结果:
怀疑是不是jar有冲突,我的pom配置如下: