在 fuse fabric 中部署 camel 项目
Deploy camel project in fuse fabric
以下是我想知道的在 fuse fabric 环境中部署 camel 项目的事情。
我创建了捆绑罐。这些 bundle jar 在非结构环境中运行良好。即当我将这些 jars 移动到 jboss-fuse 上的部署目录时,它工作得很好。
当相同的罐子移动到子容器时,它不起作用。我为结构环境设置的内容如下:
已创建 Fabric 容器:
fabric:create --new-user fadmin --new-user-password maskerkey --generate-zookeeper-password --resolver localip
子容器:
fabric:container-create-child root node 2
我应该如何将相同的 bundle jar 部署到子容器?我在部署 bundle jar 时看到以下异常:
org.osgi.framework.BundleException: Unresolved constraint in bundle BUNDLE_NAME [139]: Unable to resolve 139.0: missing requirement [139.0] osgi.wiring.package; (osgi.wiring.package=org.apache.activemq.camel.component)
当你有 fabric 环境时,你不应该使用 deploy/
目录。它更适合用于原型设计。
当您使用以下方法创建子容器时:
fabric:container-create-child root node 2
您现在有两个名为 node1
和 node2
的容器
OSGi 中的 bundle 只是一个 enhanced JAR。
A (Karaf) feature 是 bundles(可能还有配置)的集合,因此您可以更轻松地安装多个 bundle。
A (Fabric) profile 是 declaration bundle、功能、配置和资源(大致),因此您可以安装多个(karaf) 功能更容易。
您的错误消息表示尚未安装可以满足您的 捆绑包要求的捆绑包。更准确地说,您缺少导出 org.apache.activemq.camel.component
包的包。
如果您查看 Fuse 可用的配置文件和功能,您会看到:
JBossFuse:karaf@root> features:info activemq-camel
Description of activemq-camel 5.11.0.redhat-vvv feature
----------------------------------------------------------------
Feature has no configuration
Feature has no configuration files
Feature depends on:
activemq-client 5.11.0.redhat-vvv
camel-spring [2.17,3)
camel-jms [2.17,3)
camel [2.17,3)
Feature contains followed bundles:
mvn:org.apache.activemq/activemq-camel/5.11.0.redhat-vvv start-level=50
Feature has no conditionals.
(其中 vvv
是 Fuse 的构建)。
现在您必须创建您的 个人资料:
profile-create myprofile
为其添加activemq-camel
功能:
profile-edit --feature activemq-camel myprofile
将您的捆绑包添加到其中:
profile-edit --bundle mvn:your-groupId/your-artifactId/your-version
并将此配置文件分配给一个容器(containers)
container-add-profile node1 myprofile
以下是我想知道的在 fuse fabric 环境中部署 camel 项目的事情。 我创建了捆绑罐。这些 bundle jar 在非结构环境中运行良好。即当我将这些 jars 移动到 jboss-fuse 上的部署目录时,它工作得很好。 当相同的罐子移动到子容器时,它不起作用。我为结构环境设置的内容如下:
已创建 Fabric 容器:
fabric:create --new-user fadmin --new-user-password maskerkey --generate-zookeeper-password --resolver localip
子容器:
fabric:container-create-child root node 2
我应该如何将相同的 bundle jar 部署到子容器?我在部署 bundle jar 时看到以下异常:
org.osgi.framework.BundleException: Unresolved constraint in bundle BUNDLE_NAME [139]: Unable to resolve 139.0: missing requirement [139.0] osgi.wiring.package; (osgi.wiring.package=org.apache.activemq.camel.component)
当你有 fabric 环境时,你不应该使用 deploy/
目录。它更适合用于原型设计。
当您使用以下方法创建子容器时:
fabric:container-create-child root node 2
您现在有两个名为 node1
和 node2
OSGi 中的 bundle 只是一个 enhanced JAR。
A (Karaf) feature 是 bundles(可能还有配置)的集合,因此您可以更轻松地安装多个 bundle。
A (Fabric) profile 是 declaration bundle、功能、配置和资源(大致),因此您可以安装多个(karaf) 功能更容易。
您的错误消息表示尚未安装可以满足您的 捆绑包要求的捆绑包。更准确地说,您缺少导出 org.apache.activemq.camel.component
包的包。
如果您查看 Fuse 可用的配置文件和功能,您会看到:
JBossFuse:karaf@root> features:info activemq-camel
Description of activemq-camel 5.11.0.redhat-vvv feature
----------------------------------------------------------------
Feature has no configuration
Feature has no configuration files
Feature depends on:
activemq-client 5.11.0.redhat-vvv
camel-spring [2.17,3)
camel-jms [2.17,3)
camel [2.17,3)
Feature contains followed bundles:
mvn:org.apache.activemq/activemq-camel/5.11.0.redhat-vvv start-level=50
Feature has no conditionals.
(其中 vvv
是 Fuse 的构建)。
现在您必须创建您的 个人资料:
profile-create myprofile
为其添加activemq-camel
功能:
profile-edit --feature activemq-camel myprofile
将您的捆绑包添加到其中:
profile-edit --bundle mvn:your-groupId/your-artifactId/your-version
并将此配置文件分配给一个容器(containers)
container-add-profile node1 myprofile