sofastack-guides / kc-sofastack-dynamic-demo Goto Github PK
View Code? Open in Web Editor NEWSofaStack Dynamic Module Demo
SofaStack Dynamic Module Demo
打包成jar包执行时可以正常执行,但是在ide里启动时总是直接退出。去掉config-ark-plugin后就正常了。debug查看,在com.alipay.sofa.ark.support.thread.LaunchRunner#join这里,启动完成后没有非daemon线程;但是在com.alipay.sofa.ark.springboot.web.ArkTomcatWebServer#startDaemonAwaitThread这里断点,可以看到非daemon线程已经创建了,但是在后续的join里却看不到这个线程。
kc-sofastack-dynamic-demo.zip
查了半天才发现是因为在启动ArkContainer过程中,会调用StandardPipeline#DeployBizStage#process,然后推送AfterFinishDeployEvent事件去处理unstall逻辑,这个unstall逻辑会去remove到已经注册到tomcat的context,导致后续所有地址都找不到context,从而响应404。
具体错误如下
Exception in thread "main" java.lang.RuntimeException: Meet exception when determine whether to start SOFAArk!
at com.alipay.sofa.ark.springboot.listener.ArkApplicationStartListener.onApplicationEvent(ArkApplicationStartListener.java:49)
at com.alipay.sofa.ark.springboot.listener.ArkApplicationStartListener.onApplicationEvent(ArkApplicationStartListener.java:30)
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:127)
at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:69)
at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:48)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:302)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1260)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1248)
at io.sofastack.stockmng.StockMngApplication.main(StockMngApplication.java:10)
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: An exception occurred while running. null
at com.alipay.sofa.ark.support.startup.SofaArkBootstrap.launch(SofaArkBootstrap.java:59)
at com.alipay.sofa.ark.springboot.listener.ArkApplicationStartListener.startUpArk(ArkApplicationStartListener.java:55)
at com.alipay.sofa.ark.springboot.listener.ArkApplicationStartListener.onApplicationEvent(ArkApplicationStartListener.java:41)
... 11 more
Caused by: java.lang.RuntimeException: An exception occurred while running. null
at com.alipay.sofa.ark.support.thread.IsolatedThreadGroup.rethrowUncaughtException(IsolatedThreadGroup.java:50)
at com.alipay.sofa.ark.support.startup.SofaArkBootstrap.launch(SofaArkBootstrap.java:55)
... 13 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.alipay.sofa.ark.support.thread.LaunchRunner.run(LaunchRunner.java:61)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.alipay.sofa.ark.bootstrap.MainMethodRunner.run(MainMethodRunner.java:48)
at com.alipay.sofa.ark.bootstrap.AbstractLauncher.launch(AbstractLauncher.java:97)
at com.alipay.sofa.ark.bootstrap.AbstractLauncher.launch(AbstractLauncher.java:68)
at com.alipay.sofa.ark.support.startup.SofaArkBootstrap.remain(SofaArkBootstrap.java:77)
... 6 more
Caused by: java.lang.IllegalArgumentException: Telnet port should be positive integer.
at com.alipay.sofa.ark.common.util.AssertUtils.isTrue(AssertUtils.java:66)
at com.alipay.sofa.ark.container.session.StandardTelnetServerImpl.run(StandardTelnetServerImpl.java:99)
at com.alipay.sofa.ark.container.session.StandardTelnetServerImpl.init(StandardTelnetServerImpl.java:193)
at com.alipay.sofa.ark.container.service.ArkServiceContainer.start(ArkServiceContainer.java:86)
at com.alipay.sofa.ark.container.ArkContainer.start(ArkContainer.java:133)
at com.alipay.sofa.ark.container.ArkContainer.main(ArkContainer.java:96)
... 14 more
sofastack-guides / kc-sofastack-dynamic-demo导入eclipse,按步骤生成jar后,执行 java -jar dynamic-stock-mng/target/dynamic-stock-mng-1.0.0.jar时出错如下:
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.alipay.sofa.ark.bootstrap.MainMethodRunner.run(MainMethodRunner.java:48)
at com.alipay.sofa.ark.bootstrap.AbstractLauncher.launch(AbstractLauncher.java:97)
at com.alipay.sofa.ark.bootstrap.AbstractLauncher.launch(AbstractLauncher.java:49)
at com.alipay.sofa.ark.bootstrap.ArkLauncher.main(ArkLauncher.java:35)
Caused by: com.alipay.sofa.ark.exception.ArkRuntimeException: com.alipay.sofa.ark.exception.ArkRuntimeException: Master biz should be configured when deploy multi biz.
at com.alipay.sofa.ark.container.pipeline.StandardPipeline.process(StandardPipeline.java:81)
at com.alipay.sofa.ark.container.ArkContainer.start(ArkContainer.java:135)
at com.alipay.sofa.ark.container.ArkContainer.main(ArkContainer.java:91)
... 8 more
Caused by: com.alipay.sofa.ark.exception.ArkRuntimeException: Master biz should be configured when deploy multi biz.
at com.alipay.sofa.ark.container.pipeline.HandleArchiveStage.process(HandleArchiveStage.java:133)
at com.alipay.sofa.ark.container.pipeline.StandardPipeline.process(StandardPipeline.java:75)
... 10 more
Caused by: java.lang.IllegalArgumentException: Master biz should be configured when deploy multi biz.
at com.alipay.sofa.ark.common.util.AssertUtils.isFalse(AssertUtils.java:84)
at com.alipay.sofa.ark.container.pipeline.HandleArchiveStage.process(HandleArchiveStage.java:121)
... 11 more
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.