Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

命令行调用报错 Undefined index: com.dubbo.demo.HelloService_ _1.0.0_jsonrpc" #1

Open
nickfan opened this issue Feb 20, 2017 · 3 comments

Comments

@nickfan
Copy link
Contributor

nickfan commented Feb 20, 2017

系统环境

ubuntu 14.04 LTS
php 5.6

zookeeper 通过apt-get安装

java是oracle的 jdk7 (1.7.0_80)

按照文档中的方法写了以后,运行直接报错,

file:"/data3/wwwroot/dbss/current/vendor/quickj/dubbo-php-client/src/register.php"
line:108行
code:0
msg:"Undefined index: com.dubbo.demo.HelloService_ _1.0.0_jsonrpc"

我把self::$ServiceMap 打印出来是空数组,不知道是不是注册的问题

另外代码中的

src/register.php 中
private function achieveRegisterIp 方法里的

$_SERVER['SERVER_ADDR'] 变量只有php作为web服务时可用,cli模式时不可用建议改为:

            $registerIp = null;
            if(isset($_SERVER) && isset($_SERVER['SERVER_ADDR'])){
                $registerIp = gethostbyaddr($_SERVER['SERVER_ADDR']);
            }else{
                $registerIp = getHostByName(getHostName());
            }

纯命令获取ip地址的方式建议改为:

                    $command="/sbin/ifconfig eth0 | grep 'inet' | cut -d: -f2 | awk '{ print $1}'";
                    $ss = exec($command,$arr);
                    $registerIp = $arr[0];

另外demo里的服务端直接mvn jetty:run 后会报错(java 1.7.0_80, mvn3.3.9):

[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ dubbo-jsonrpc ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 2 source files to /data3/wwwroot/dubbo_jsonrpc_demo/target/classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /data3/wwwroot/dubbo_jsonrpc_demo/src/main/java/com/dubbo/demo/impl/HelloServiceImpl.java:[4,22] 找不到符号
  符号:   类 TransitionNode
  位置: 程序包 com.dubbo.demo
[ERROR] /data3/wwwroot/dubbo_jsonrpc_demo/src/main/java/com/dubbo/demo/impl/HelloServiceImpl.java:[26,12] 找不到符号
  符号:   类 TransitionNode
  位置: 类 com.dubbo.demo.impl.HelloServiceImpl
[ERROR] /data3/wwwroot/dubbo_jsonrpc_demo/src/main/java/com/dubbo/demo/HelloService.java:[9,5] 找不到符号
  符号:   类 TransitionNode
  位置: 接口 com.dubbo.demo.HelloService
[ERROR] /data3/wwwroot/dubbo_jsonrpc_demo/src/main/java/com/dubbo/demo/impl/HelloServiceImpl.java:[27,20] 找不到符号
  符号:   类 TransitionNode
  位置: 类 com.dubbo.demo.impl.HelloServiceImpl
[INFO] 4 errors
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.486 s
[INFO] Finished at: 2017-02-20T19:40:34+08:00
[INFO] Final Memory: 14M/303M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project dubbo-jsonrpc: Compilation failure: Compilation failure:
[ERROR] /data3/wwwroot/dubbo_jsonrpc_demo/src/main/java/com/dubbo/demo/impl/HelloServiceImpl.java:[4,22] 找不到符号
[ERROR] 符号:   类 TransitionNode
[ERROR] 位置: 程序包 com.dubbo.demo
[ERROR] /data3/wwwroot/dubbo_jsonrpc_demo/src/main/java/com/dubbo/demo/impl/HelloServiceImpl.java:[26,12] 找不到符号
[ERROR] 符号:   类 TransitionNode
[ERROR] 位置: 类 com.dubbo.demo.impl.HelloServiceImpl
[ERROR] /data3/wwwroot/dubbo_jsonrpc_demo/src/main/java/com/dubbo/demo/HelloService.java:[9,5] 找不到符号
[ERROR] 符号:   类 TransitionNode
[ERROR] 位置: 接口 com.dubbo.demo.HelloService
[ERROR] /data3/wwwroot/dubbo_jsonrpc_demo/src/main/java/com/dubbo/demo/impl/HelloServiceImpl.java:[27,20] 找不到符号
[ERROR] 符号:   类 TransitionNode
[ERROR] 位置: 类 com.dubbo.demo.impl.HelloServiceImpl
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
@kuaikuaikim
Copy link
Owner

@nickfan
dubbo_jsonrpc_demo 重新拉下代码,上次漏掉了一个文件。
dubbo-php-client 应该是notice错误,建议修改错误级别,现在代码已更新,我已经disable了一些notice错误。
/sbin/ifconfig eth0 | grep 'inet' | cut -d: -f2 | awk '{ print $1}'
这个在有些PC获取不到eth0,所以用了目前这种比较通用的模式。

@nickfan
Copy link
Contributor Author

nickfan commented Feb 21, 2017

image

服务器如果配置了locale=zh_CN.UTF-8的话,你的addr模式就没效果了,要不再改改?

@ghost
Copy link

ghost commented Feb 22, 2017

wow !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants