有没有办法防止捆绑包被标记为“ACTIVE”,如果其 DS 组件之一无法初始化?
例如,如果我要实现<code>BundleActivator方法中抛出<code>BundleException
在我的@Activate
方法中使用声明性服务,如果由于任何原因无法初始化,我可能会抛出异常。但我发现,这样做并不能阻止捆绑包被标记为“活动”。我还假设一个组件的故障不会阻止捆绑包中的其他组件变为活动组件?
例如,如果我有几个组件,其中一个无法初始化,那么我希望所有其他组件都被停用,并且捆绑包作为一个整体不活动,即快速失效。
有没有办法用声明服务做到这一点?
不,这是不可能或不可取的。组件生命周期与捆绑包生命周期是分开的。当您想了解捆绑包中组件的状态时,不应该查看捆绑包状态。
每个组件的生命周期也是独立的。您可以在一个包中交付多个组件,但这实际上只是为了方便它们共享静态(即编译时)依赖关系。如果您需要将一个组件的生命周期与另一个组件的生命周期联系起来,那么您应该在它们之间创建一个服务引用。
如果您能解释为什么当另一个不相关的组件碰巧失败时,您希望一个组件失败,这将有所帮助。然后,也许我们可以为潜在的问题提供更好的解决方案。
而且我也无法在windows serice中启动neo4j服务。也许以前有人遇到过这个案子?
我在自动加载tomcat7时遇到问题。这是init。d脚本: 这样开始时: Tomcat似乎无法从apache公共资源加载属性文件。有人知道这是为什么吗? 直接运行时一切正常,如下所示: 运行通过: %% 现在,我加载了导致错误的网页
我和rvm在OSX Marvericks上。从bundler安装像nokogiri这样的本机扩展失败。但从gem命令安装是可行的。 我还安装了最新的XCode命令行工具。 我不知道bundle安装和gem安装有什么区别。 gem安装的结果。 相关软件的版本: 添加:我的bundler配置
我正在使用Vagrant部署到Ubuntu Linux,并尝试启动服务。 然后我跟踪,发现: ?tomcat8.service-lsb:启动tomcat。加载:加载(/etc/init.d/tomcat8) active:失败(结果:exit-code)自2016-03-28 09:44:17 GMT;5s前 文档:人:systemd-sysv-generator(8) 进程:884 execst
尝试远程启动服务时遇到奇怪的行为。 编辑:我进一步研究了这个问题,发现只有在尝试运行我的特定服务时才会出现这种情况。这意味着我的服务必须从已经登录的用户的会话中运行(这就是为什么如果我之前使用mstsc访问服务器,它仍然可以工作)。所以我想我的新问题是--有没有一种方法可以让我从PowerShell登录到远程机器? 多谢了。
链接到问题:https://github.com/jenca-cloud/docker-bimserver/issues/1 指向DockerFile的链接:https://hub.docker.com/r/connoralexander/docker-bimserver/ 大家好,我有一个问题是Tomcat8没有启动服务。正在使用设置的用户名和密码成功安装Tomcat 8.0.30。它成功地wg