首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Camel-SCR (声明性服务)无法访问javax.sql.DataSource

Camel-SCR (声明性服务)无法访问javax.sql.DataSource
EN

Stack Overflow用户
提问于 2018-06-04 16:12:46
回答 1查看 146关注 0票数 0

我已经使用pax-jdbc-config和以下URL创建了datssource服务

https://ops4j1.jira.com/wiki/spaces/PAXJDBC/pages/61767710/Create+DataSource+from+config

现在可以使用数据源服务了

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
karaf@root()> service:list javax.sql.DataSource
[javax.sql.DataSource]
----------------------
 dataSourceName = MySqlDS
 felix.fileinstall.filename = file:/C:/Apache/apache-karaf-4.2.0/etc/org.ops4j.datasource-MySqlDS.cfg
 osgi.jdbc.driver.class = com.mysql.jdbc.Driver
 osgi.jdbc.driver.name = mysql
 osgi.jndi.service.name = java:/MySqlDS
 password = root
 service.bundleid = 102
 service.factoryPid = org.ops4j.datasource
 service.id = 147
 service.pid = org.ops4j.datasource.eaeb33be-1dcc-4f56-b9f3-37f5185ad761
 service.scope = singleton
 url = jdbc:mysql://localhost:3306/test
 user = root
Provided by :
 OPS4J Pax JDBC Config (102)

但是在运行我的camel-scr路线时,我遇到了下面的错误

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Caused by: org.apache.camel.NoSuchBeanException: No bean could be found in the registry for: MySqlDS of type: javax.sql.DataSource
        at org.apache.camel.util.CamelContextHelper.mandatoryLookupAndConvert(CamelContextHelper.java:201) ~[76:org.apache.camel.camel-core:2.19.5]
        at org.apache.camel.util.EndpointHelper.resolveReferenceParameter(EndpointHelper.java:326) ~[76:org.apache.camel.camel-core:2.19.5]
        at org.apache.camel.util.EndpointHelper.resolveReferenceParameter(EndpointHelper.java:308) ~[76:org.apache.camel.camel-core:2.19.5]
        at org.apache.camel.impl.DefaultComponent.resolveAndRemoveReferenceParameter(DefaultComponent.java:415) ~[76:org.apache.camel.camel-core:2.19.5]
        at org.apache.camel.impl.DefaultComponent.resolveAndRemoveReferenceParameter(DefaultComponent.java:394) ~[76:org.apache.camel.camel-core:2.19.5]
        at org.apache.camel.component.sql.SqlComponent.createEndpoint(SqlComponent.java:62) ~[131:org.apache.camel.camel-sql:2.19.5]
        at org.apache.camel.impl.DefaultComponent.createEndpoint(DefaultComponent.java:116) ~[76:org.apache.camel.camel-core:2.19.5]
        at org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:676) ~[76:org.apache.camel.camel-core:2.19.5]
        at org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:80) ~[76:org.apache.camel.camel-core:2.19.5]

Camel SCR Runner代码片段:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
protected void setupCamelContext(BundleContext bundleContext, String camelContextId)throws Exception{
        super.setupCamelContext(bundleContext, camelContextId);

        getContext().setUseMDCLogging(true);

        getContext().setUseBreadcrumb(true);

        SqlComponent sql = new SqlComponent();
        getContext().addComponent("sql", sql);
    }

骆驼路线

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public void configure() throws Exception {
        // Add a bean to Camel context registry
        AbstractCamelRunner.getRegistry(getContext(), SimpleRegistry.class).put("testString", "this is a test");

        from("{{from}}")
        .to("sql:select * from table?dataSource=#MySqlDS&outputType=StreamList&outputClass=org.apache.camel.component.sql.ProjectModel")
        .to("log:stream")
        .split(body()).streaming()
            .to("log:row")
            .to("mock:result")
        .end();
    }

因为我使用的是#MySqlDS,它应该从服务注册表中获取它,或者我必须添加setupcamelcontext以及如何添加??

EN

回答 1

Stack Overflow用户

发布于 2018-06-04 20:18:51

当您使用dataSource=选项时,Camel SQL组件需要一个引用。

MySqlDS是osgi.jndi.service.name而不是引用id

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50684763

复制
相关文章
docker内部服务无法访问外网
内网ubuntu机器通过nginx搭建的正向代理访问外网,但是部署在这些内网ubuntu系统之上的docker容器仍然无法访问外网,这里仅以docker-compose的部分配置来说明如何解决这个问题,如下所示:
johnhuster的分享
2022/03/28
2.6K0
声明式服务调用-Feign
博主在昨天的文章中,提及到项目中选用Eureka作为服务的注册中心,那么今天就应该是开始进行服务的调用, 即认证平台调用数据服务。在之前的文章中我都是很模糊的描述过业务的过程,今天就再叙述一下,也顺便捋一捋自己的业务逻辑。
每天学Java
2020/06/02
7910
SpringCloud声明式服务调用Feign
1.创建一个SpringBoot工程,这里命名为feign-consumer,然后在pom文件中添加依赖:
林老师带你学编程
2019/05/25
4930
Spring Cloud Feign 声明式服务调用
一、Feign是什么?二、Feign的快速搭建三、Feign的几种姿态 参数绑定 继承特性四、其他配置 Ribbon 配置 Hystrix 配置
cxuan
2019/06/03
7870
SQL Server 远程连接出错~~~~~无法访问服务器
异常处理汇总 ~ 修正果带着你的Net飞奔吧!http://www.cnblogs.com/dunitian/p/4599258.html 代理开一下 tcp/ip协议开一下 收工
逸鹏
2018/04/09
8.4K0
SQL Server 远程连接出错~~~~~无法访问服务器
springcloud笔记(二)服务熔断 Hystrix,声明式服务消费 Feign
各个服务之间是相互调用的,如果A服务调用B服务,但是B服务响应慢,或者网络中断了,导致A服务一直等待,A服务不能使用,万一其他C服务调用A服务,那么这样,就会一连串的导致整个微服务不能使用,这样就出现问题了;
一写代码就开心
2022/05/09
9990
springcloud笔记(二)服务熔断 Hystrix,声明式服务消费 Feign
Spring Cloud中声明式服务调用Feign
前面几篇文章我们详细的介绍了Ribbon、RestTemplate、Hystrix组件,这些组件是我们Spring Cloud中非常基础的组件,小伙伴们在使用的过程中可能也发现了这些东西都是同时出现的,而且配置也都非常相似,每次开发都有很多相同的代码,因此,Spring Cloud基于Netflix Feign整合了Ribbon和Hystrix,让我们的开发工作变得更加简单,就像Spring Boot是对Spring+SpringMVC的简化一样。Spring Cloud Feign不仅在配置上大大简化了开
江南一点雨
2018/04/02
1.4K0
Spring Cloud中声明式服务调用Feign
Apple服务器炸了!App Store无法访问
今天下午4点多,打开苹果手机App Store,居然无法访问App Store,试了多次依然访问不了,报“无法连接App Store”!
Qson
2022/04/11
2.4K0
Apple服务器炸了!App Store无法访问
Dubbo无法访问远程Zookeeper已注册服务的问题
使用Dubbo的时候发现当Zookeeper、Dubbo-admin、生产者和消费者都在 内网中的时候,生产者的生产和消费是没有问题的,但是当它Zookeeper、生产者放到远程服务器上,然后消费者在访问消费就出现了无法找到找到服务的问题。
MonroeCode
2018/01/10
4.1K0
docker swarm部署的docker服务无法访问外部的postgresql
在使用portainer(docker swarm)方式部署thingsboard集群服务时发现tb-node节点无法访问外部的postgresql服务,通过docker logs containerId查看日志,找到了有效的日志:NO ROUTE TO HOST,通过docker exec -it containerId进入docker内部,执行ping postgresql服务Ip确实ping不通,但是却可以ping通其他ip。
johnhuster的分享
2022/03/28
1.8K0
docker swarm部署的docker服务无法访问外部的postgresql
Spring MVC项目使用Feign声明式服务调用
声明式编程范式:声明式编程表明想要实现什么目的,应该做什么,但是不指定具体怎么做。
suveng
2019/09/17
2.8K0
Spring MVC项目使用Feign声明式服务调用
声明性数据基础设施为数据驱动企业提供动力
大数据、人工智能/ML和现代分析技术已经渗透到商业世界,成为企业战略的关键元素,以更好地服务客户、更快地创新和保持领先的竞争。数据是所有这些的核心。在本博客中,我们将重点讨论Kubernetes和相关的容器原生存储技术,如何使数据工程师(即DataOps团队)能够构建可伸缩的、敏捷的数据基础设施,从而实现这些目标。
CNCF
2019/12/04
6350
windows FileZilla搭建FTP服务器 无法列表 无法访问
没什么要说的,纯属记录备忘。。。 FileZilla,轻巧,开源,免费~~~ 配置简单~~~ 安装过程要输入的admin端口,是指用它专用的服务器管理界面去管理这个ftp的时候,使用的端口。 默认就是了。 后边使用FileZilla Server Interface的时候,也默认就可以了~~ 好像FileZilla设计这个端口是为了远程控制这个ftp啊~~ 如果其他机器无法访问这个ftp,或者列表出现问题。就是windows防火墙或者其他防火墙作怪了。 如果是windows防火墙要如下设置,开通ftp服务:
用户1258909
2018/07/03
10.7K0
关于谷歌中国的最新声明及谷歌服务在中国大陆的可用性
自从谷歌一月份发布有关我们在中国运营的声明之后,我们收到了很多“谷歌中国将会怎么样”,特别是有关我们广告平台的询问。我们一直在想方设法能够继续为中国用户提供搜索服务,感谢您的耐心等待。
zhaoJian.Net
2023/02/24
2.5K0
声明
本站在互联网上的地址是:https://blog.zhuxu.xyz/,为个人性质的非盈利博客,博主的其他网站不适用于本政策。本站的服务器与内容分发网络均位于中国大陆。访客在本站留下的所有痕迹均按照此政策执行。本站认为隐私权是一项人类必要的基本权利,本站充分关心您的隐私问题,为响应现行网络隐私法律法规,现将本站的隐私政策公布如下:
迷路的朱朱
2023/05/04
4580
无法访问Google
因为众所周知的原因,我们在访问Google、Facebook、Twitter等网站时会受到一些限制。面对这样的窘境,人们要么不再访问转投其他互联网服务,要么采取技术手段绕过封杀譬如VPN、翻墙软件。不过,深圳的汪龙却选择了一条不同的路:起诉网络服务提供商中国联通以及联通深圳分公司。 26岁的汪龙微博介绍如下:公益诉讼人;“封锁Google”首位起诉人;福喜事件首位民事诉讼起诉人。其微博公布的诉讼状显示,从5月开始通过中国联通的网络无法访问Google、Gmail等服务,要求中国联通返还宽带费用,并在解决此问
罗超频道
2018/04/25
3.8K0
<!DOCTYPE> 声明
网络上有很多不同的文件,如果能够正确声明HTML的版本,浏览器就能正确显示网页内容。
用户8442333
2021/08/21
6900
sbc(二)高可用Eureka+声明式服务调用
上次提到我们调用自己的 http接口的时候采用的是 PostMan来模拟请求,这个在平时调试时自然没有什么问题,但当我们需要和前端联调开发的时候效率就比较低了。
crossoverJie
2022/08/19
2270
sbc(二)高可用Eureka+声明式服务调用
JS 声明
变量声明,无论发生在何处,都在执行任何代码之前进行处理。用 var 声明的变量的作用域是它当前的执行上下文,它可以是嵌套的函数,也可以是声明在任何函数外的变量。如果你重新声明一个 JavaScript 变量,它将不会丢失其值。
acc8226
2022/05/17
2.5K0
点击加载更多

相似问题

OSGi声明性服务引用非声明性服务

20

Eclipse 4声明性服务注入在声明性服务中

15

OSGi声明性服务& SonarQube

10

Websphere OSGi:声明性服务

12

声明性服务策略模式

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文