欢迎使用普元产品知识库,本知识库包含普元应用开发平台EOSPlatform,流程平台BPS,企业服务总线ESB,微服务平台Microservice,运维管理平台Devops,数据集成平台DI
欢迎使用普元文档库
问题描述:在发布服务的时候,使用的是sqlserver 2008的数据库,数据库视图创建连接成功了。开发完成,调用的时候,报“cannot get a available connection!对象名 'EOS_UNIQUE_TABLE' ”无效的错误。
[FlowName=com.primeton.esb.project.restaurant.ms.middle.mediaService.mediaService.biz][activity name=JAVA方法1][activity id=invokePojo1][exception=java.lang.RuntimeException: cannot get a available connection!]
[default][2018-03-17 01:07:56,808][ERROR][com.primeton.esb.mediation.exception.ExceptionMessageUtil:57] java.lang.RuntimeException: cannot get a available connection!
at com.primeton.ext.infra.connection.DataSourceWrapper.getAvailableConnectionIfNecessary(DataSourceWrapper.java:199)
at com.primeton.ext.infra.connection.DataSourceWrapper.getConnection(DataSourceWrapper.java:63)
at com.eos.foundation.database.DatabaseUtil.getConnection(DatabaseUtil.java:1070)
at com.eos.foundation.database.DatabaseUtil.queryEntitiesByTemplate(DatabaseUtil.java:872)
at com.primeton.esb.project.restaurant.ms.middle.mediaService.mediaService_biz.invokePojo1(mediaService_biz.java:253)
at com.primeton.esb.project.restaurant.ms.middle.mediaService.mediaService_biz.__choiceinvokePojo1(mediaService_biz.java:610)
at com.primeton.esb.project.restaurant.ms.middle.mediaService.mediaService_biz.__invokeBiz(mediaService_biz.java:445)
at com.primeton.esb.project.restaurant.ms.middle.mediaService.mediaService_biz._invoke(mediaService_biz.java:347)
at com.primeton.esb.project.restaurant.ms.middle.mediaService.mediaService_biz.invoke(mediaService_biz.java:391)
at com.primeton.engine.core.impl.process.BLProxy.asynInvoke(BLProxy.java:465)
at com.primeton.engine.component.impl.OperationAccessor.invoke(OperationAccessor.java:228)
at com.primeton.ext.engine.component.OperationAsyn.asynInvoke(OperationAsyn.java:33)
at com.primeton.engine.component.impl.LogicCompoment.invokeAsyn(LogicCompoment.java:272)
at com.primeton.access.client.impl.skeleton.BizLogicReceiveTarget.invoke(BizLogicReceiveTarget.java:64)
at com.primeton.access.client.impl.skeleton.ServiceEngine.receive(ServiceEngine.java:36)
at com.primeton.access.client.impl.skeleton.DefaultServiceSkeleton.invokeService(DefaultServiceSkeleton.java:130)
at com.primeton.access.client.impl.skeleton.DefaultServiceSkeleton.invoke(DefaultServiceSkeleton.java:32)
at com.primeton.access.client.impl.ClientMessageInterceptor.invoke(ClientMessageInterceptor.java:57)
at com.primeton.system.aop.impl.HandlerInvoker.invoke(HandlerInvoker.java:60)
at com.primeton.system.aop.impl.JdkProxyUtil$JdkInvocationHandlerWrapper.invoke(JdkProxyUtil.java:53)
at com.sun.proxy.$Proxy6.invokeAsyn(Unknown Source)
at com.primeton.esb.mediation.model.MediationService.invokeLogicFlow(MediationService.java:142)
at com.primeton.esb.mediation.model.MediationService.messageRequest(MediationService.java:119)
at com.primeton.esb.mediation.model.MediationService$Media_RequestHandler.handleMessage(MediationService.java:256)
at com.primeton.tip.org.springframework.integration.dispatcher.UnicastingDispatcher.doDispatch(UnicastingDispatcher.java:104)
at com.primeton.tip.org.springframework.integration.dispatcher.UnicastingDispatcher.access$000(UnicastingDispatcher.java:47)
at com.primeton.tip.org.springframework.integration.dispatcher.UnicastingDispatcher$1.run(UnicastingDispatcher.java:86)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.RuntimeException:
retry count 1 exception: com.microsoft.sqlserver.jdbc.SQLServerException: 对象名 'EOS_UNIQUE_TABLE' 无效。
... 30 more
数据源配置如下截图:
解决方案:此问题是由于创建的数据源,使用的测试语句中有表EOS_UNIQUE_TABLE ,而实际该表是不存在的,导致测试链接不成功,如图: