当我添加到 apache-karaf-3.0.3\etc\system.properties 属性 karaf.lock.level=50 时,会引发以下异常:
java.lang.RuntimeException: Error installing bundle listed in startup.properties with url: mvn:org.ops4j.pax.url/pax-url-aether/2.3.0 and startlevel: 5
at org.apache.karaf.main.Main.installAndStartBundles(Main.java:392)
at org.apache.karaf.main.Main.launch(Main.java:245)
at org.apache.karaf.main.Main.main(Main.java:167)
引起:org.osgi.framework.BundleException:捆绑包org.ops4j.pax.url.mvn [1]中未解决的约束:无法解决1.0:缺少要求[1.0] osgi.wiring.package; (&(osgi.wiring.package=org.slf4j)(version>=1.6.0)(!(version>=2.0.0))) 在 org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java: 3974) 在 org.apache.felix.framework.Felix.startBundle(Felix.java:2037) 在 org.apache.felix.framework.BundleImpl.start(BundleImpl.java:955) 在 org.apache.felix.framework.BundleImpl .start(BundleImpl.java:942) 在 org.apache.karaf.main.Main.installAndStartBundles(Main.java:389) ... 还有 2 个
配置故障转移机制时的结果相同,如文档中所述。http://karaf.apache.org/manual/latest/users-guide/failover.html
karaf.lock=true
karaf.lock.class=org.apache.karaf.main.lock.DefaultJDBCLock
karaf.lock.level=50
karaf.lock.delay=10
karaf.lock.jdbc.url=jdbc:mysql://localhost/something
karaf.lock.jdbc.driver=com.mysql.jdbc.Driver
karaf.lock.jdbc.user=aUser
karaf.lock.jdbc.password=aUnsecurePassword
karaf.lock.jdbc.table=KARAF_LOCK
karaf.lock.jdbc.clustername=karaf
karaf.lock.jdbc.timeout=30
当 karaf.lock.level 被删除或设置为大于 0 且小于 5 时,驱动程序被删除到 apache-karaf-3.0.3\lib\ext 似乎可以工作。
当我在 karaf 的 2.3.3 安装中将相同的 lock.level.property 设置为 50 时,一切似乎都运行良好。有谁知道从 3.xx 到 2.3.3 发生了什么变化或可能导致问题的原因。
最好的问候,谢谢你的时间:D