我正在使用Guava LoadingCache来缓存一些结果。使用加载方法,我从其他来源获取结果,并使用' put(key,value)' 将其放入缓存。现在我要解决的问题是:我想在不传递任何键的情况下获得该缓存中的所有可用结果。因为我有兴趣获取当时在缓存中显示的所有值,而不管任何特定键。
getall(Iterable<?> keys)或getAllPresent(Iterable<?> keys)方法,但那些期望键被传递。
尝试解码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 ....].如何将原始数据导入文件.
我有一个多线程程序,我在其中打开一个BufferedReader从FIFO(named Pipe)文件中读取内容.由于我想实现流类型的解决方案来连续读取FIFO文件中的文本,我在线程任务运行之外创建了一个BufferedReader,并且只要应用程序正在运行就希望永远保持打开状态.(bufferedReader上没有close())使用ThreadPool中有限的(比如10个)线程将继续查找FIFO文件中的文本并进一步处理该文本.当我使用FIFO时,它永远不会达到END OF FILE.
通过执行此操作,对于较小的输入文件,它成功读取,对于大型输入文件,它会抛出Stream closed IOexception(偶尔).它自动关闭,我没有close()声明.我有一个代码来获取和关闭semaphore lock我br.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)
题:
在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语句?如果是这样的话
我使用的是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) 要安装cassandra DB,需要python.为什么会这样.?Python在安装期间和之后在cassandra中扮演什么角色(它是用于驱动程序连接吗?还是用于cqlsh?因为我在cqlshlib文件夹中看到了一些与python相关的文件)?Cassandra也像其他mongodb或mysql,oracle(当然有些这些不是noSQL而且不是分布式的).
如何使用队列中的特定标头消息.我正在使用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的那些消息.