小编Dav*_*ave的帖子

如何在不传递任何键的情况下从guava LoadingCache获取所有值

我正在使用Guava LoadingCache来缓存一些结果。使用加载方法,我从其他来源获取结果,并使用' put(key,value)' 将其放入缓存。现在我要解决的问题是:我想在不传递任何键的情况下获得该缓存中的所有可用结果。因为我有兴趣获取当时在缓存中显示的所有值,而不管任何特定键。

getall(Iterable<?> keys)getAllPresent(Iterable<?> keys)方法,但那些期望键被传递。

java caching guava

7
推荐指数
1
解决办法
3681
查看次数

Base64解码到文件groovy

尝试解码base64并使用groovy将其写入文件

File f = new File("c:\\document1.doc")
PrintWriter writer = null           
byte[] b1 = Base64.decodeBase64(info.getdata());
writer = new PrintWriter(f)
writer.print(b1)
writer.close()
Run Code Online (Sandbox Code Playgroud)

这会创建一个打印到文件的byte []值,如[-121,25,-180 ....].如何将原始数据导入文件.

groovy base64 decode

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

如果我不在java中关闭BufferedReader会发生什么?(多线程程序中的流类型读取)

我有一个多线程程序,我在其中打开一个BufferedReaderFIFO(named Pipe)文件中读取内容.由于我想实现流类型的解决方案来连续读取FIFO文件中的文本,我在线程任务运行之外创建了一个BufferedReader,并且只要应用程序正在运行就希望永远保持打开状态.(bufferedReader上没有close())使用ThreadPool中有限的(比如10个)线程将继续查找FIFO文件中的文本并进一步处理该文本.当我使用FIFO时,它永远不会达到END OF FILE.

通过执行此操作,对于较小的输入文件,它成功读取,对于大型输入文件,它会抛出Stream closed IOexception(偶尔).它自动关闭,我没有close()声明.我有一个代码来获取和关闭semaphore lockbr.readLine()用来处理竞争条件问题的地方

java.io.IOException: Stream closed
    at java.io.BufferedReader.ensureOpen(BufferedReader.java:122) ~[?:1.8.0_152]
    at java.io.BufferedReader.readLine(BufferedReader.java:317) ~[?:1.8.0_152]
    at java.io.BufferedReader.readLine(BufferedReader.java:389) ~[?:1.8.0_152]
Run Code Online (Sandbox Code Playgroud)

题:

  1. 对于此解决方案,我不想关闭BufferedReader.有什么后果?
  2. 我可以拥有永不关闭的bufferedReader吗?如果是这样,我应该在代码中考虑哪些步骤.

java multithreading stream mkfifo bufferedreader

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

如何在Cassandra中存储对象数组

在cassandra DB中,我计划存储对象数组。这样做的最好方法是什么。对象映射到Java中带有模型类的数据映射。

Class Test{
   @Column(name = "id")
   int id,
   @Column(name = "name")
   String name,
   Address[] address

 class Address{
   String add1,
   String city,
   String state 
  }
}
Run Code Online (Sandbox Code Playgroud)

我是否应该通过将列也与add1,city,state一起添加到同一键空间中来将所有(id,name,add1,city,state)放在一个表中?或为地址或其他任何选项添加新表。

我尝试添加TYPE但将错误抛出为:“服务器错误:代码= 2200 [Invalid query] message="A user type cannot contain non-frozen UDTs”从错误和类型语法中,我使用了关键字' frozen',但是没有运气。更改表也给出类似的错误,例如:“ mismatched input 'frozen' expecting EOF

另外,如果我必须保存类型的列,'String[ ]'因为它不是诸如Address []之类的自定义类型,该怎么办。它是字符串还是文本。我们是否只需要添加alter语句?如果是这样的话

java arrayofstring cassandra

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

Camel SFTP连接jcraft jsch异常

我使用的是camel版本2.13.1和camel-ftp版本2.13.1。我正在尝试通过骆驼路由连接到 sftp 服务器。我收到一些与 jCraft Jsch 异常相关的错误,如下所示。

org.apache.camel.component.file.GenericFileOperationFailedException: Cannot connect to sftp://uname@serveraddress.com:22
    at org.apache.camel.component.file.remote.SftpOperations.connect(SftpOperations.java:143)
    at org.apache.camel.component.file.remote.RemoteFileConsumer.connectIfNecessary(RemoteFileConsumer.java:154)
    at org.apache.camel.component.file.remote.RemoteFileConsumer.recoverableConnectIfNecessary(RemoteFileConsumer.java:145)
    at org.apache.camel.component.file.remote.RemoteFileConsumer.prePollCheck(RemoteFileConsumer.java:55)
    at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:106)
    at org.apache.camel.impl.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:187)
    at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:114)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown Source)
    at java.util.concurrent.FutureTask.runAndReset(Unknown Source)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: com.jcraft.jsch.JSchException: Algorithm negotiation fail
    at com.jcraft.jsch.Session.receive_kexinit(Session.java:582)
    at com.jcraft.jsch.Session.connect(Session.java:320)
    at org.apache.camel.component.file.remote.SftpOperations.connect(SftpOperations.java:115)
    ... 14 more
Run Code Online (Sandbox Code Playgroud)

jsch apache-camel camel-ftp

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

为什么Python需要安装Cassandra

要安装cassandra DB,需要python.为什么会这样.?Python在安装期间和之后在cassandra中扮演什么角色(它是用于驱动程序连接吗?还是用于cqlsh?因为我在cqlshlib文件夹中看到了一些与python相关的文件)?Cassandra也像其他mongodb或mysql,oracle(当然有些这些不是noSQL而且不是分布式的).

python install cassandra

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

使用来自队列的activemq,camel选择器选择特定的头消息

如何使用队列中的特定标头消息.我正在使用camel activemq.

routebuilder:

.....
    from("activemq:Q1").
      .setHeader("myHeader",xpath(...))
          .to("activemq:Q2")
.....
Run Code Online (Sandbox Code Playgroud)

我尝试使用那些在另一个类中具有特定标题的消息.

....
ConsumerTemplate consumerTemplate = camelContext.createConsumerTemplate();
Exchange exchange = consumerTemplate.receive("activemq:Q2",10000);

String body = exchange.getIn().getBody(String.class);
String customvalue = exchange.getIn().getHeader("myHeader", String.class);
.....
Run Code Online (Sandbox Code Playgroud)

我怎样才能获得myHeader = 123的那些消息.

activemq-classic jms apache-camel custom-headers

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