我构建了一个接收JMS消息(@JmsListener)的Spring应用程序.在开发期间,我想将一些消息发送到侦听器侦听的JMS队列,因此我编写了一个发送一些消息的单元测试(JmsTemplate).在这个单元测试中,我使用@SpringBootTest和@RunWith(SpringRunner.class)加载应用程序上下文(数据源的bean等).
但是,当单元测试开始时,它还会加载jms监听器bean,它直接开始使用我的新消息.
我想在此测试场景中禁用此jms侦听器bean,以便将消息添加到队列中.然后,我可以启动主应用程序并观察它们被消耗.
我该怎么做呢?
我想我也可以问一下如何禁用bean.
提前致谢.
我正在读取一个巨大的文件,并使用预statement.executeBatch()准备语句在mysql中插入记录.以下是代码:
for(int i = 0; i < file.length; i++) {
count += 1
statement.setString(1, record.id)
statement.setString(2, record.date)
statement.setString(3, record.msg)
statement.addBatch()
if (count % 1000 == 0)
statement.executeBatch()
}
statement.executeBatch()
Run Code Online (Sandbox Code Playgroud)
Slick如何帮助(也许模仿上面的代码)?
所以我在阅读Java中的Json文件时遇到了麻烦.
它是一个Json文件,其内容采用以下格式:
{
"_id": 2864071,
"name": "Neustadt",
"country": "DE",
"coord": {
"lon": 12.56667,
"lat": 52.400002
}
}
Run Code Online (Sandbox Code Playgroud)
这是我正在使用的代码:
package controllers;
@Named(value = "cityID")
@SessionScoped
public class getCityIDs implements Serializable {
public long getCityIDs(String name) {
//Read the json file
try {
FileReader reader = new FileReader(filePath);
JSONParser parser = new JSONParser();
JSONObject jsonObject = (JSONObject) parser.parse(reader);
// get a number from the JSON object
String travelName = (String) jsonObject.get("name");
if(travelName.equals(name)){
long id = (long) jsonObject.get("_id");
System.out.println(id);
return id;
} else …Run Code Online (Sandbox Code Playgroud) 我有几个 UTC 格式的时区字符串,例如"UTC+08:00", "UTC-05:00",问题是如何将这些 utc 格式字符串转换为java.util.TimeZoneJava格式的字符串?
我尝试ZoneId按如下方式转换,但没有奏效:
ZoneId zoneId = ZoneId.of("UTC+08:00");
TimeZone timeZone = TimeZone.getTimeZone(zoneId);
Run Code Online (Sandbox Code Playgroud)
我知道TimeZone timeZone = TimeZone.getTimeZone("Asia/Shanghai");会的工作,但我不知道之间的映射"UTC+08:00"和"Asia/Shanghai"
由于java.lang编译器会在所有java程序中自动导入包,为什么import java.lang.annotation;在程序中使用注释时需要在程序顶部编写语句?
我正在运行这个无限for循环.为什么这个for循环会在一段时间后终止?
for(int i = 10; i > 0; i++) { }
Run Code Online (Sandbox Code Playgroud)
但是,如果我在这个for循环中打印一些内容,那么它就不会终止.为什么这样?
使用org.springframework.data.redis.core.RedisTemplate在服务器redis的存储数据。我有类似于“abc@xyz@pqr”的模式键。想要获取所有以“abc”开头的键,并使用RedisTemplate.keys(String pattern)与下面相同的方法:
Set<String> redisKeys = redisTemplate.keys("(abc).*");
for (String key : redisKeys) {
System.out.println(key);
}
Run Code Online (Sandbox Code Playgroud)
但它总是给我空集。
// tried this pattern also
Set<String> redisKeys = redisTemplate.keys("abc*");
Run Code Online (Sandbox Code Playgroud)
请帮帮我。
最近,我开始在 Terraform 配置中使用每个环境的工作空间。我最终拥有了三个工作区:开发、登台和生产。但由于历史原因,我的默认工作区仍然包含过时的 tfstate。
将其“重置”为默认状态的正确方法是什么?就像里面什么都没有一样。
实现此目的的一种方法是terraform state rm为每个资源手动执行。但这样一来,我就会接到数百个这样的电话。有某种terraform state reset类似物吗?
我一直在尝试创建一个小方法来计算seq中给定的百分位数.它几乎可以工作.问题是我不知道为什么不起作用.我希望你的一个"比我更聪明"的人可以帮助我.
我希望结果是它将从seq中返回seq的项目小于等于返回值的项目.
def percentile[Int](p: Int)(seq: Seq[Int]) = {
require(0 <= p && p <= 100) // some value requirements
require(!seq.isEmpty) // more value requirements
val sorted = seq.sorted
val k = math.ceil((seq.length - 1) * (p / 100)).toInt
return sorted(k)
}
Run Code Online (Sandbox Code Playgroud)
所以,例如,如果我有
val v = Vector(7, 34, 39, 18, 16, 17, 21, 36, 17, 2, 4, 39, 4, 19, 2, 12, 35, 13, 40, 37)
Run Code Online (Sandbox Code Playgroud)
我调用我的函数percentile(11)(v)返回值为2.但是,10%的向量小于或等于2,而不是像我调用的11%.percentile(11)(v)应该返回4.
现在有JSON数据如下
{"Id":11,"data":[{"package":"com.browser1","activetime":60000},{"package":"com.browser6","activetime":1205000},{"package":"com.browser7","activetime":1205000}]}
{"Id":12,"data":[{"package":"com.browser1","activetime":60000},{"package":"com.browser6","activetime":1205000}]}
......
Run Code Online (Sandbox Code Playgroud)
此JSON是应用程序的激活时间,其目的是分析每个应用程序的总激活时间
我使用sparK SQL来解析JSON
斯卡拉
val sqlContext = sc.sqlContext
val behavior = sqlContext.read.json("behavior-json.log")
behavior.cache()
behavior.createOrReplaceTempView("behavior")
val appActiveTime = sqlContext.sql ("SELECT data FROM behavior") // SQL query
appActiveTime.show (100100) // print dataFrame
appActiveTime.rdd.foreach(println) // print RDD
Run Code Online (Sandbox Code Playgroud)
但是打印的dataFrame是这样的
.
+----------------------------------------------------------------------+
| data|
+----------------------------------------------------------------------+
| [[60000, com.browser1], [12870000, com.browser]]|
| [[60000, com.browser1], [120000, com.browser]]|
| [[60000, com.browser1], [120000, com.browser]]|
| [[60000, com.browser1], [1207000, com.browser]]|
| [[120000, com.browser]]|
| [[60000, com.browser1], [1204000, com.browser5]]|
| [[60000, com.browser1], [12075000, com.browser]]|
| [[60000, com.browser1], …Run Code Online (Sandbox Code Playgroud)