Giter VIP home page Giter VIP logo

cmq-java-sdk's Introduction

cmq-java-sdk

Tencent CMQ Java Http SDK

SDK使用方式:

API的具体使用方式,可以参考源码中example目录下的demo

项目引入SDK可以使用Maven依赖或者直接下载源码

方式一:Maven依赖

直接pom文件中加入maven依赖。1.0.7版本开始,SDK的artifactId改为cmq-http-client

<dependency>
    <groupId>com.qcloud</groupId>
    <artifactId>cmq-http-client</artifactId>
    <version>1.0.7</version>
</dependency>

方式二:源码依赖

直接下载源码,放入项目中依赖,方便自定义SDK代码

1)获取master代码:

git clone https://github.com/tencentyun/cmq-java-sdk.git

2)获取指定tag代码,如v1.0.7:

git clone --branch v1.0.7 https://github.com/tencentyun/cmq-java-sdk.git

3)编译,在工程目录下执行:

mvn clean install -Dmaven.test.skip=true 

cmq-java-sdk's People

Contributors

315157973 avatar dependabot[bot] avatar leexm avatar timmyyu avatar yorkhellen avatar zhangzerui20 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cmq-java-sdk's Issues

批量接收消息的时候,为啥要扔异常

直接返回空就好了吧? 为啥扔异常呢

code:7000, message:(10200)no message
at com.qcloud.cmq.CMQTool.checkResult(CMQTool.java:95)
at com.qcloud.cmq.CMQTool.checkResult(CMQTool.java:84)
at com.qcloud.cmq.Queue.batchReceiveMessage(Queue.java:341)
at cn.gniic.ums.service.sdk.CMQTest.testBatchMessageReceive(CMQTest.java:78)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:117)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:42)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:262)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:84)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
ERROR

CMQHttp中的字符串比较"this.url != url"有问题

这个比较导致每次都是false
public String request(String method, String url, String req, int userTimeout) throws Exception { String result = ""; BufferedReader in = null; try { if (this.url != url) this.newHttpConnection(url);

CMQHttp 过早关闭问题

image

请检查下这里是否丢掉了, conn.disconnect(); 将connection关闭, 如果你想复用连接,那么请不要使用in.close()将response 流关闭。

没有Listener

只有创建订阅的Subscripton,但是没有监听者啊,what ?

代码不符合规范的太多

Message等类属性为public的。
CMQServerException类属性为private的,但没有get方法
Topic类又为protected
用规范 一扫描全是问题,能否按照规范整理一遍。
建议代码提交前,先用相关工具扫描一下是否有bug或漏洞。
另外,代码里面所有
JSONObject jsonObj = new JSONObject(result);
CMQTool.checkResult(result);
这两行代码应该互换一下,返回为null的时候 第一行就已经报空指针异常了。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.