标签: apache-servicemix

获取 org.apache.camel.component.http.HttpOperationFailedException 状态代码 405

我正在运行 servicemix 4.4.1。我正在尝试使用camel-http4 对网站进行http 调用。无论我尝试调用哪个网站,我都会收到此错误: org.apache.camel.RuntimeCamelException: org.apache.camel.component.http.HttpOperationFailedException: HTTP 操作失败调用http://servicemix.apache.org/downloads /servicemix-4.4.0.html状态代码:405

这是我的代码片段:

 <camelContext xmlns="http://camel.apache.org/schema/spring">
  <route>
    <from uri="activemq://events1"/>
<setHeader headerName="CamelHttpMethod">
    <constant>POST</constant>
</setHeader>
    <to uri="http://servicemix.apache.org/downloads/servicemix-4.4.0.html"/>
    <to uri="log:events"/>
  </route>
</camelContext>
Run Code Online (Sandbox Code Playgroud)

我尝试过许多网站并尝试使用不同的 http 方法(post 与 get),但我不断收到相同的错误。任何想法?提前致谢。

apache-camel http-status-code-405 apache-servicemix

7
推荐指数
1
解决办法
1万
查看次数

更新osgi包的问题

我有一个要求,我需要每天重新加载我的osgi捆绑4次.重新加载bundle意味着重新创建静态实例Bean,重新加载camel路由,重新创建和注入线程池,数据库连接池..etc(其他spring xml东西).我尝试通过ssh刷新我的包,但我需要捆绑ID,以便可以改变加班.所以,我写了一个Manager Bundle,它通过符号名称获取捆绑包,并每天刷新它们4次

          osgi impl : felix 

          container : apache-servicemix-4.4.1-fuse-03-06

          Service Dependency spec : Blueprint
Run Code Online (Sandbox Code Playgroud)

有3个包和一个帮助包.帮助包包含所有使用的公共类和服务接口.这三个捆绑包之间没有代码共享(它们都没有导出任何包).所有这些捆绑包都通过camel vm端点和服务进行交互.我只刷新其他3个捆绑包,帮助捆绑包不提供任何服务.

现在,问题是当我对这3个捆绑包进行更新时,它们启动并正常工作,但我看到每次执行此操作时jconsole上增加了800-900个类.强制gc似乎也没有清理这些对象.那么,这些旧的有线物体会是什么呢?服务依赖项应该自动更新,并且bundle之间没有代码依赖关系.我检查了更新之前和之前的类数量的差异.

我可以看到一些类的数量增加了一倍,如org.apache.activemq.camel.component.VmComponent, org.apache.commons.dbcp.BasicDataSource ..etc和我在我的camel路由中定义的一些自定义bean.我依赖于camel-core,blueprint,quartz等容器.在camel-context中使用bean,VM端点等等,以及在更新时在blueprint-config xml中定义的组件.我知道一旦更新捆绑包,建议调用FrameworkWiring.refreshBundles().但是,我没有捆绑之间的代码共享,我推测任何其他依赖容器应该处理我认为现在是错误的.我不确定servicemix中当前的felix框架实现是否支持FrameworkWiring.refreshBundles()(ref),我无法让它工作.我该如何解决这个问题?

谢谢你好

osgi apache-camel blueprint-osgi apache-servicemix

7
推荐指数
1
解决办法
1124
查看次数

在ServiceMix中管理和监视Apache-Camel路由

作为Camel和ServiceMix的用户,我经常需要监控这些工具以用于开发目的.我主要使用JConsole从ServiceMix和Camel访问MBean.它为ESB开发人员提供了一些非常有用的指标.

我还使用karaf(web)控制台来跟踪我的路线和捆绑状态.环顾StackOverflow,我发现了一个有趣的链接,解释了如何为ServiceMix 4设置Hyperic HQ:使用Hyperic HQ监控Servicemix.

它们是您认为值得学习/用于Camel/SMX开发的其他工具吗?

monitoring esb apache-camel apache-servicemix

6
推荐指数
2
解决办法
8709
查看次数

在Eclipse中调试FuseESB应用程序

Fuse ESB使用带有OSGi的karaf服务器.

对于代码,如果任何人有步骤获取应用程序的调试器,它将有所帮助.

我目前正在使用Eclipse Indigo.在使用OSGi时,我们使用Maven来构建相同的内容.

哪个插件对OSGi的Karaf有帮助

eclipse eclipse-plugin apache-karaf fuseesb apache-servicemix

6
推荐指数
1
解决办法
5530
查看次数

在osgi-container中找不到hibernate-validator的El实现

我尝试在osgi容器中运行Hibernate验证器.

<dependency>
    <groupId>javax.el</groupId>
    <artifactId>javax.el-api</artifactId>
    <version>2.2.4</version>
</dependency>
<dependency>
    <groupId>org.glassfish.web</groupId>
    <artifactId>javax.el</artifactId>
    <version>2.2.4</version>
</dependency>

<dependency>
    <groupId>org.apache.servicemix.bundles</groupId>
    <artifactId>org.apache.servicemix.bundles.hibernate-validator</artifactId>
    <version>5.0.2.Final_1</version>
</dependency>

<dependency>
    <groupId>joda-time</groupId>
    <artifactId>joda-time</artifactId>
    <version>2.7</version>
</dependency>

<dependency>
    <groupId>org.jsoup</groupId>
    <artifactId>jsoup</artifactId>
    <version>1.8.1</version>
</dependency>


public class HibernateValidationProviderResolver implements ValidationProviderResolver {
    @Override
    public List<ValidationProvider<?>> getValidationProviders() {
        List<ValidationProvider<?>> list = new ArrayList<>(1);
        list.add(new HibernateValidator());
        return list;
    }
}


Configuration<?> configuration = Validation.byDefaultProvider().providerResolver(
    new HibernateValidationProviderResolver()
).configure();

ValidatorFactory validatorFactory = configuration.buildValidatorFactory();
Validator validator = validatorFactory.getValidator();
Set<ConstraintViolation<Group>> constraintViolations = validator.validate(group);


public class Group {
    @NotNull
    @Size(min=2)
    private String title;
}
Run Code Online (Sandbox Code Playgroud)

尝试运行,equinox控制台没问题:

10      RESOLVED …
Run Code Online (Sandbox Code Playgroud)

java osgi hibernate hibernate-validator apache-servicemix

6
推荐指数
1
解决办法
5790
查看次数

如何使用camel将大文件发送到ActiveMQ

我正在尝试将一个X?-GB大文件作为流发送到ActiveMQ队列进行处理.

我知道ActiveMQ 支持流,camel-jms也是如此,但是我尝试在队列上设置的东西似乎没什么区别.唯一改变的是关闭流缓存结果是一个"流关闭"异常.

我愿意使用处理器或自定义类(只要资源得到清理),但这应该可以从蓝图中获得.如何通过camel-activemq正确处理大文件而不会出现OutOfMemoryError?

运用

  • ServiceMix的-7.0.0
  • 骆驼2.16.4
  • ActiveMQ的-5.14.3

这是我的骆驼蓝图

<?xml version="1.0" encoding="UTF-8"?>
<blueprint
xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0"

    <!-- just calls exchange.setBody(exchange.getBody(InputStream.class)) -->    
    <bean id="toStreamBody" class="my.test.toInputStream"/>

    <!-- define a bean of type StreamCachingStrategy which CamelContext will automaticly use -->
    <bean id="streamStrategy" class="org.apache.camel.impl.DefaultStreamCachingStrategy">
        <property name="spoolDirectory" value="${java.io.tmpdir}TestTemp/#uuid#/"/>
        <property name="spoolThreshold" value="131072"/>
        <property name="spoolUsedHeapMemoryThreshold" value="70"/>
        <property name="anySpoolRules" value="true"/>
    </bean>

    <!-- streamCaching="true" is "not a valid attribute" -->
    <camelContext streamCache="true" xmlns="http://camel.apache.org/schema/blueprint">

        <route id="file_route">
            <from uri="file://FileUploadBin?delete=false&amp;moveFailed=.error"/>
            <!-- just calls exchange.setBody(exchange.getBody(InputStream.class)) -->
            <bean ref="toStreamBody"/>
            <to uri="activemq:queue:TestQ"/>
        </route> …
Run Code Online (Sandbox Code Playgroud)

java activemq-classic inputstream apache-camel apache-servicemix

6
推荐指数
1
解决办法
1230
查看次数

ServiceMix 4.2教程

我试图找出Apache ServiceMix 4.2的开始

可悲的是,主页上的教程似乎已经过时了 ...... 4.2服务似乎是开箱即用的,并配置了karaf,而教程则讨论将文件复制到不再存在的"hotdeploy"文件夹中在4.2 ...

有人能指出我对ServiceMix 4.2有效的教程吗?我正在尝试测试两个简单的HelloWorld Web服务的通信,或者看看如何配置BC来连接Web服务或类似的东西,只是为了开始.非常感谢任何帮助或指示.

java osgi apache-karaf apache-servicemix

5
推荐指数
1
解决办法
9097
查看次数

如何添加自定义osgi包作为新依赖?

我需要xlsx在OSGi包中处理Excel文档,但org.apache.servicemix.bundles.poi缺少使用2007和旧格式的类.

我已经创建了一个带有完整apache poi的OSGi包(jar文件)(包括ooxml官方apache poi包中没有的类).我用过这个pom.

所以,经过一些努力,我有我想要的捆绑.现在的问题是如何将它与我现有的捆绑包一起使用?我怎么能告诉它导入我需要的东西?从理论上讲,这个pom文件<servicemix.osgi.export>列出了要导出的命名空间,我应该可以在我的包中导入它们.

osgi openxml osgi-bundle apache-servicemix

5
推荐指数
1
解决办法
548
查看次数

Eclipse Virgo vs Apache Servicemix

我是OSGi主题的新手,但尝试了解一下这项技术.

经过一些研究我无法找到问题的答案,eclipse处女座和apache servicemix之间的真正区别是什么?

我自己揭示了这个谜团:我已经看过两者了,首先我认为virgo似乎是像osgi的web服务器一样的想法,而servicemix更像是公共汽车.但后来我看到,服务组合附加了jetty,甚至我可以添加web控制台功能到浏览器的托管servicemix,并得到完全混淆.现在我不知道,mayby virgo和servicemix是同一种软件,但是有不同的捆绑和生产者(simmilar到例如jetty和tomcat)?

我会非常感谢一些信息.对不起,如果我的问题很愚蠢并且回答非常简单,但正如我之前所说的那样,我对这项技术感兴趣:)

java osgi eclipse-virgo apache-servicemix

5
推荐指数
1
解决办法
1001
查看次数

两个依赖链 OSGI

我有以下错误:

在此输入图像描述

在文本中:

Error executing command: Error restarting bundles:
    Unable to start bundle 278: Uses constraint violation. Unable to resolve resource demo-persistence-jpa [demo-persistence-jpa [278](R 278.0)] because it is exposed to package 'javax.persistence' from resources javax.persistence [javax.persistence [248](R 248.0)] and org.apache.geronimo.specs.geronimo-jpa_2.0_spec [org.apache.geronimo.specs.geronimo-jpa_2.0_spec [266](R 266.0)] via two dependency chains.

Chain 1:
demo-persistence-jpa [demo-persistence-jpa [278](R 278.0)]

import: (&(osgi.wiring.package=javax.persistence)(version>=2.1.0))
 |
export: osgi.wiring.package: javax.persistence
javax.persistence [javax.persistence [248](R 248.0)]
Chain 2:
demo-persistence-jpa [demo-persistence-jpa [278](R 278.0)]
import: (osgi.wiring.package=org.hibernate.proxy)
 |
export: osgi.wiring.package=org.hibernate.proxy; uses:=javax.persistence
com.springsource.org.hibernate [com.springsource.org.hibernate [230](R   230.0)]
  import: (&(osgi.wiring.package=javax.persistence)(version>=1.0.0)(!(version>=2.0.0))) …
Run Code Online (Sandbox Code Playgroud)

java osgi hibernate jpa apache-servicemix

5
推荐指数
1
解决办法
4349
查看次数