小编dev*_*hts的帖子

何时使用Spring @Async vs Callable控制器(异步控制器,servlet 3)

我想知道使用Callable在Spring中使用@Async和Servlet 3异步请求实现的一般用例.

据我了解,@ Async用于使任何方法(特别是任何服务方法)异步执行.

@Async
void doSomething(String s) {
// this will be executed asynchronously
}
Run Code Online (Sandbox Code Playgroud)

以及任何返回Callable的控制器

  @RequestMapping("/view")
public Callable<String> callableWithView(final Model model) {
    return new Callable<String>() {
        @Override
        public String call() throws Exception {
            Thread.sleep(2000);
            model.addAttribute("foo", "bar");
            model.addAttribute("fruit", "apple");
            return "views/html";
        }
    };
}
Run Code Online (Sandbox Code Playgroud)

我很困惑,什么时候使用什么.使用异步servlet/controller和spring @Async会产生什么影响?

spring asynchronous callable

23
推荐指数
1
解决办法
3万
查看次数

Cassandra nodetool无法解析'127.0.0.1':未知主机

我对卡桑德拉很新.刚开始探索.

我正在运行单节点cassandra服务器,并且在使用nodetool命令查看cassandra的状态时遇到问题.

我在我的VM上配置了主机名,作为/ etc/hosts中的myMachineIP cass1

我使用listen_address配置了我的cassandra_instal_path/conf/cassandra.yaml文件,将rpc_address配置为localhost,将clustername配置为casscluster

(也尝试使用我的主机名cass1作为listen_address/rpc_address)

不知道为什么我无法使用nodetool命令获取status的原因.

$ nodetool

Cannot resolve '127.0.0.1': unknown host

$ nodetool -host 127.0.0.1

Cannot resolve '127.0.0.1': unknown host

$ nodetool -host cass1

Cannot resolve 'cass1': unknown host
Run Code Online (Sandbox Code Playgroud)

但我能够连接到cassandra-cli

控制台输出:

Connected to: "casscluster" on 127.0.0.1/9160
Welcome to Cassandra CLI version 1.2.8

Type 'help;' or '?' for help.
Type 'quit;' or 'exit;' to quit.
Run Code Online (Sandbox Code Playgroud)

我的/ etc/hosts看起来像:

127.0.0.1       localhost.localdomain   localhost.localdomain   localhost4      localhost4.localdomain4 localhost       cass1

::1     localhost.localdomain   localhost.localdomain   localhost6      localhost6.localdomain6 localhost       cass1


[myMachineIP]  cass1
Run Code Online (Sandbox Code Playgroud)

这可能是我无法运行nodetool的原因?

请帮忙.

cassandra nodetool

5
推荐指数
1
解决办法
2107
查看次数

从CQL导出数据时出现RPC超时错误

我正在尝试使用CQL客户端从cassandra导出数据.列族中包含大约100000行.当我使用COPY TO命令将dta复制到csv文件时,我得到以下rpc_time out错误.

copy mycolfamily to '/root/mycolfamily.csv'
Request did not complete within rpc_timeout.
Run Code Online (Sandbox Code Playgroud)

我在跑:

[cqlsh 3.1.6 | Cassandra 1.2.8 | CQL spec 3.0.0 | Thrift protocol 19.36.0]

如何增加RPC超时限制?

我尝试rpc_timeout_in_ms: 20000在我的conf/cassandra.yaml文件中添加(defalut是10000).但是当重新启动cassandra时,我得到:

[root@user ~]# null; Can't construct a java object for tag:yaml.org,2002:org.apache.cassandra.config.Config; exception=Cannot create property=rpc_timeout_in_ms for JavaBean=org.apache.cassandra.config.Config@71bfc4fc; Unable to find property 'rpc_timeout_in_ms' on class: org.apache.cassandra.config.Config
Invalid yaml; unable to start server.  See log for stacktrace.
Run Code Online (Sandbox Code Playgroud)

cassandra cql3

5
推荐指数
1
解决办法
5388
查看次数

Spring应用程序的混淆值得尝试吗?

我想使用混淆器(例如ProGuard)来保护我的Web应用程序中的IP.我知道混淆字节码的局限性,并且可以反编译它.但是我觉得好一点,如果我知道网络服务器上有一个混淆的war文件......在用ProGuard进行首次测试之后,我想知道他们的'入口点'方法是否对使用SpringMVC的web应用程序有用..和春天一点儿.如果我必须"保留"我的所有@Repository,@ Service,@ Controller和@Component注释类,并因此将它们排除在混淆之外,则不会满足此类工具的主要问题.我读过,我应该使用基于Java的Spring配置,而在Spring 3.1中,这方面有很多改进,但值得使用它吗?任何工具都可以真正混淆Spring Beans吗?

多米尼克

java obfuscation spring proguard

2
推荐指数
2
解决办法
2055
查看次数