Start the example service, and the storageserviceimpl reports an error when executing the deduct. What is the reason for this?
// 启动example服务,storageserviceimpl在执行deduct的时候报错,请问下这是什么原因
//
com.alibaba.fescar.common.exception.FrameworkException: can not connect to fescar-server.
// com.alibaba.fescar.common.exception.FrameworkException: can not connect to fescar-server.
at com.alibaba.fescar.core.rpc.netty.AbstractRpcRemotingClient.getNewChannel(AbstractRpcRemotingClient.java:241)
// at com.alibaba.fescar.core.rpc.netty.AbstractRpcRemotingClient.getNewChannel(AbstractRpcRemotingClient.java:241)
at com.alibaba.fescar.core.rpc.netty.NettyPoolableFactory.makeObject(NettyPoolableFactory.java:63)
// at com.alibaba.fescar.core.rpc.netty.NettyPoolableFactory.makeObject(NettyPoolableFactory.java:63)
at com.alibaba.fescar.core.rpc.netty.NettyPoolableFactory.makeObject(NettyPoolableFactory.java:41)
// at com.alibaba.fescar.core.rpc.netty.NettyPoolableFactory.makeObject(NettyPoolableFactory.java:41)
at org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:1220)
// at org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:1220)
at com.alibaba.fescar.core.rpc.netty.RmRpcClient.doConnect(RmRpcClient.java:354)
// at com.alibaba.fescar.core.rpc.netty.RmRpcClient.doConnect(RmRpcClient.java:354)
at com.alibaba.fescar.core.rpc.netty.RmRpcClient.connect(RmRpcClient.java:322)
// at com.alibaba.fescar.core.rpc.netty.RmRpcClient.connect(RmRpcClient.java:322)
at com.alibaba.fescar.core.rpc.netty.RmRpcClient.getRemoteServerChannel(RmRpcClient.java:243)
// at com.alibaba.fescar.core.rpc.netty.RmRpcClient.getRemoteServerChannel(RmRpcClient.java:243)
at com.alibaba.fescar.core.rpc.netty.RmRpcClient.sendMsgWithResponse(RmRpcClient.java:228)
// at com.alibaba.fescar.core.rpc.netty.RmRpcClient.sendMsgWithResponse(RmRpcClient.java:228)
at com.alibaba.fescar.core.rpc.netty.RmRpcClient.sendMsgWithResponse(RmRpcClient.java:248)
// at com.alibaba.fescar.core.rpc.netty.RmRpcClient.sendMsgWithResponse(RmRpcClient.java:248)
at com.alibaba.fescar.rm.datasource.DataSourceManager.branchRegister(DataSourceManager.java:57)
// at com.alibaba.fescar.rm.datasource.DataSourceManager.branchRegister(DataSourceManager.java:57)
at com.alibaba.fescar.rm.datasource.ConnectionProxy.register(ConnectionProxy.java:157)
// at com.alibaba.fescar.rm.datasource.ConnectionProxy.register(ConnectionProxy.java:157)
at com.alibaba.fescar.rm.datasource.ConnectionProxy.commit(ConnectionProxy.java:129)
// at com.alibaba.fescar.rm.datasource.ConnectionProxy.commit(ConnectionProxy.java:129)
at com.alibaba.fescar.rm.datasource.ConnectionProxy.setAutoCommit(ConnectionProxy.java:176)
// at com.alibaba.fescar.rm.datasource.ConnectionProxy.setAutoCommit(ConnectionProxy.java:176)
at com.alibaba.fescar.rm.datasource.exec.AbstractDMLBaseExecutor.executeAutoCommitTrue(AbstractDMLBaseExecutor.java:68)
// at com.alibaba.fescar.rm.datasource.exec.AbstractDMLBaseExecutor.executeAutoCommitTrue(AbstractDMLBaseExecutor.java:68)
at com.alibaba.fescar.rm.datasource.exec.AbstractDMLBaseExecutor.doExecute(AbstractDMLBaseExecutor.java:37)
// at com.alibaba.fescar.rm.datasource.exec.AbstractDMLBaseExecutor.doExecute(AbstractDMLBaseExecutor.java:37)
at com.alibaba.fescar.rm.datasource.exec.BaseTransactionalExecutor.execute(BaseTransactionalExecutor.java:50)
// at com.alibaba.fescar.rm.datasource.exec.BaseTransactionalExecutor.execute(BaseTransactionalExecutor.java:50)
at com.alibaba.fescar.rm.datasource.exec.ExecuteTemplate.execute(ExecuteTemplate.java:70)
// at com.alibaba.fescar.rm.datasource.exec.ExecuteTemplate.execute(ExecuteTemplate.java:70)
at com.alibaba.fescar.rm.datasource.exec.ExecuteTemplate.execute(ExecuteTemplate.java:32)
// at com.alibaba.fescar.rm.datasource.exec.ExecuteTemplate.execute(ExecuteTemplate.java:32)
at com.alibaba.fescar.rm.datasource.PreparedStatementProxy.executeUpdate(PreparedStatementProxy.java:69)
// at com.alibaba.fescar.rm.datasource.PreparedStatementProxy.executeUpdate(PreparedStatementProxy.java:69)
at org.springframework.jdbc.core.JdbcTemplate$2.doInPreparedStatement(JdbcTemplate.java:798)
// at org.springframework.jdbc.core.JdbcTemplate$2.doInPreparedStatement(JdbcTemplate.java:798)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:591)
// at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:591)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:792)
// at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:792)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:850)
// at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:850)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:858)
// at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:858)
at com.alibaba.fescar.tm.dubbo.impl.StorageServiceImpl.deduct(StorageServiceImpl.java:42)
// at com.alibaba.fescar.tm.dubbo.impl.StorageServiceImpl.deduct(StorageServiceImpl.java:42)
at com.alibaba.dubbo.common.bytecode.Wrapper1.invokeMethod(Wrapper1.java)
// at com.alibaba.dubbo.common.bytecode.Wrapper1.invokeMethod(Wrapper1.java)
at com.alibaba.dubbo.rpc.proxy.javassist.JavassistProxyFactory$1.doInvoke(JavassistProxyFactory.java:46)
// at com.alibaba.dubbo.rpc.proxy.javassist.JavassistProxyFactory$1.doInvoke(JavassistProxyFactory.java:46)
at com.alibaba.dubbo.rpc.proxy.AbstractProxyInvoker.invoke(AbstractProxyInvoker.java:72)
// at com.alibaba.dubbo.rpc.proxy.AbstractProxyInvoker.invoke(AbstractProxyInvoker.java:72)
at com.alibaba.dubbo.rpc.protocol.InvokerWrapper.invoke(InvokerWrapper.java:53)
// at com.alibaba.dubbo.rpc.protocol.InvokerWrapper.invoke(InvokerWrapper.java:53)
at com.alibaba.fescar.dubbo.TransactionPropagationFilter.invoke(TransactionPropagationFilter.java:57)
// at com.alibaba.fescar.dubbo.TransactionPropagationFilter.invoke(TransactionPropagationFilter.java:57)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
// at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
at com.alibaba.dubbo.rpc.filter.ExceptionFilter.invoke(ExceptionFilter.java:64)
// at com.alibaba.dubbo.rpc.filter.ExceptionFilter.invoke(ExceptionFilter.java:64)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
// at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
at com.alibaba.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:75)
// at com.alibaba.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:75)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
// at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
at com.alibaba.dubbo.rpc.filter.TimeoutFilter.invoke(TimeoutFilter.java:42)
// at com.alibaba.dubbo.rpc.filter.TimeoutFilter.invoke(TimeoutFilter.java:42)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
// at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
at com.alibaba.dubbo.rpc.protocol.dubbo.filter.TraceFilter.invoke(TraceFilter.java:78)
// at com.alibaba.dubbo.rpc.protocol.dubbo.filter.TraceFilter.invoke(TraceFilter.java:78)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
// at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
at com.alibaba.dubbo.rpc.filter.ContextFilter.invoke(ContextFilter.java:60)
// at com.alibaba.dubbo.rpc.filter.ContextFilter.invoke(ContextFilter.java:60)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
// at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
at com.alibaba.dubbo.rpc.filter.GenericFilter.invoke(GenericFilter.java:112)
// at com.alibaba.dubbo.rpc.filter.GenericFilter.invoke(GenericFilter.java:112)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
// at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
at com.alibaba.dubbo.rpc.filter.ClassLoaderFilter.invoke(ClassLoaderFilter.java:38)
// at com.alibaba.dubbo.rpc.filter.ClassLoaderFilter.invoke(ClassLoaderFilter.java:38)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
// at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
at com.alibaba.dubbo.rpc.filter.EchoFilter.invoke(EchoFilter.java:38)
// at com.alibaba.dubbo.rpc.filter.EchoFilter.invoke(EchoFilter.java:38)
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
// at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
at com.alibaba.dubbo.rpc.protocol.dubbo.DubboProtocol$1.reply(DubboProtocol.java:108)
// at com.alibaba.dubbo.rpc.protocol.dubbo.DubboProtocol$1.reply(DubboProtocol.java:108)
at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.handleRequest(HeaderExchangeHandler.java:84)
// at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.handleRequest(HeaderExchangeHandler.java:84)
at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.received(HeaderExchangeHandler.java:170)
// at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.received(HeaderExchangeHandler.java:170)
at com.alibaba.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:52)
// at com.alibaba.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:52)
at com.alibaba.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:82)
// at com.alibaba.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:82)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
// at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
// at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
// at java.lang.Thread.run(Thread.java:748)
// !!!!WE STRONGLY ENCOURAGE YOU TO DESCRIBE YOUR ISSUE IN ENGLISH!!!!
server启动了的
niubility xiaogege 。。。。
关注下server启动的通信端口和客户端配置的server端口是否一致
都是8091端口
服务和 demo都是本地跑的么?
同遇到,8091端口是默认的,server已经开启了
Caused by: com.alibaba.fescar.common.exception.FrameworkException: connect failed, can not connect to fescar-server.
at com.alibaba.fescar.core.rpc.netty.AbstractRpcRemotingClient.getNewChannel(AbstractRpcRemotingClient.java:236)
... 54 common frames omitted
是的 都是本地跑的
server端日志:
15:31:07.692 [NettyServerNIOWorker_7_8] ERROR com.alibaba.fescar.core.rpc.netty.AbstractRpcRemoting - 0318
java.io.IOException: 远程主机强迫关闭了一个现有的连接。
at sun.nio.ch.SocketDispatcher.read0(Native Method)
at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
at sun.nio.ch.IOUtil.read(IOUtil.java:192)
at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
at io.netty.buffer.PooledUnsafeDirectByteBuf.setBytes(PooledUnsafeDirectByteBuf.java:288)
at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1108)
at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:345)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:148)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:645)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:580)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:497)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:459)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.lang.Thread.run(Thread.java:748)
15:31:07.692 [NettyServerNIOWorker_8_8] ERROR com.alibaba.fescar.core.rpc.netty.AbstractRpcRemoting - 0318
这是要先调bug再用的节奏啊哈哈
建议你杀掉server的进程 重启一下,我这边demo已经过了 没什么问题。
clean 重启过了 还是一样的哈
同样的问题can not connect to fescar-server.,server没有正确启动,启动的时候可能没能正确的传入端口和文件的参数,使用下面的方式启动源码就可以了.
源码方式启动
mvn exec:java -Dexec.mainClass="com.alibaba.fescar.server.Server" -Dexec.args="8091 /Users/m65536/Downloads/fescar-server-0.1.0/data"
release包方式启动
sh fescar-server.sh 8091 /Users/m65536/Downloads/fescar-server-0.1.0/data
AccountServiceImpl
mvn exec:java -Dexec.mainClass="com.alibaba.fescar.tm.dubbo.impl.AccountServiceImpl" -Djava.net.preferIPv4Stack=true
StorageServiceImpl
mvn exec:java -Dexec.mainClass="com.alibaba.fescar.tm.dubbo.impl.StorageServiceImpl" -Djava.net.preferIPv4Stack=true
OrderServiceImpl
mvn exec:java -Dexec.mainClass="com.alibaba.fescar.tm.dubbo.impl.OrderServiceImpl" -Djava.net.preferIPv4Stack=true
BusinessServiceImpl调用测试
mvn exec:java -Dexec.mainClass="com.alibaba.fescar.tm.dubbo.impl.BusinessServiceImpl" -Djava.net.preferIPv4Stack=true
请问如何配置远程fescar-server,求大神指教
server本身就是独立部署的,server部署完客户端配置server的ip即可
server本身就是独立部署的,server部署完客户端配置server的ip即可
是否可以明确一下是哪个配置项,谢谢
server本身就是独立部署的,server部署完客户端配置server的ip即可
是否可以明确一下是哪个配置项,谢谢
application.conf
Is there any problem at the moment? @dennymou
检查一下是不是多网卡的问题,fescar-server源码中com.alibaba.fescar.server.Server,找到
XID.setIpAddress(NetUtil.getLocalIp());
改成
if(args.length > 2) {
XID.setIpAddress(args[2]);
} else {
XID.setIpAddress(NetUtil.getLocalIp());
}
重新打包,覆盖 fescar-server-0.1.2/lib/fescar-server-0.1.2-SNAPSHOT.jar
启动:sh ./bin/fescar-server.sh 8091 ./data/ 192.168.110.113
把局域网都可以访问的ip设置上去,我这边同样的问题就解决。
macOS环境,NetUtil 会识别出来utun1网卡地址:
utun2: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1380
inet6 fe80::c22e:1aef:e756:5c53%utun2 prefixlen 64 scopeid 0x12
nd6 options=201<PERFORMNUD,DAD>
utun1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
inet 172.23.1.50 --> 172.23.1.49 netmask 0xffffffff

Most helpful comment
同样的问题
can not connect to fescar-server.,server没有正确启动,启动的时候可能没能正确的传入端口和文件的参数,使用下面的方式启动源码就可以了.启动服务
源码方式启动
mvn exec:java -Dexec.mainClass="com.alibaba.fescar.server.Server" -Dexec.args="8091 /Users/m65536/Downloads/fescar-server-0.1.0/data"
release包方式启动
sh fescar-server.sh 8091 /Users/m65536/Downloads/fescar-server-0.1.0/data
启动example
AccountServiceImpl
mvn exec:java -Dexec.mainClass="com.alibaba.fescar.tm.dubbo.impl.AccountServiceImpl" -Djava.net.preferIPv4Stack=true
StorageServiceImpl
mvn exec:java -Dexec.mainClass="com.alibaba.fescar.tm.dubbo.impl.StorageServiceImpl" -Djava.net.preferIPv4Stack=true
OrderServiceImpl
mvn exec:java -Dexec.mainClass="com.alibaba.fescar.tm.dubbo.impl.OrderServiceImpl" -Djava.net.preferIPv4Stack=true
BusinessServiceImpl调用测试
mvn exec:java -Dexec.mainClass="com.alibaba.fescar.tm.dubbo.impl.BusinessServiceImpl" -Djava.net.preferIPv4Stack=true