折燕 2023-08-10 13:45 采纳率: 82.1%
浏览 8
已结题

Java静态私有成员返回值

有下面一段Java代码,可以实现返回一个字符串吗?返回结果就是processMessage(message)的运行结果


```java
private static MessageListener messageListener = new MessageListener() {
        @Override
        public void onMessage(final Message message) {
            try {
                //1.收到消息之后一定要ACK。
                // 推荐做法:创建Session选择Session.AUTO_ACKNOWLEDGE,这里会自动ACK。
                // 其他做法:创建Session选择Session.CLIENT_ACKNOWLEDGE,这里一定要调message.acknowledge()来ACK。
                // message.acknowledge();
                //2.建议异步处理收到的消息,确保onMessage函数里没有耗时逻辑。
                // 如果业务处理耗时过程过长阻塞住线程,可能会影响SDK收到消息后的正常回调。
                executorService.submit(new Runnable() {
                    @Override
                    public void run() {
                        processMessage(message);
                    }
                });
            } catch (Exception e) {
                logger.error("submit task occurs exception ", e);
            }
        }
    };


```

  • 写回答

3条回答 默认 最新

  • 技术宅program 2023-08-10 14:22
    关注

    onMessage方法返回类型是void,不会返回任何值
    定义一个变量或者一个数据结构来存储processMessage(message)方法的返回值或者写个回调函数

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月24日
  • 已采纳回答 8月24日
  • 创建了问题 8月10日