当使用karma和jenkins运行我的angular2单元测试时,我看到以下错误.
当我在我的本地机器(windows)上运行它时,我的测试运行正常,但是当在linux上通过jenkins运行测试时,我得到以下错误.
Missing error handler on `socket`.
TypeError: (msg || "").replace is not a function
at /home/hudson/.hudson/jobs/workspace/pjt/node_modules/karma/lib/reporter.js:45:23
Run Code Online (Sandbox Code Playgroud)
我的测试从未开始任何可能导致这种情况的想法.我看了一下业力源代码,我无法弄清楚为什么会出现问题.
return function (msg, indentation) {
// remove domain and timestamp from source files
// and resolve base path / absolute path urls into absolute path
msg = (msg || '').replace(URL_REGEXP, function (_, prefix, path, __, ___, line, ____, column) {
if (prefix === 'base') {
path = basePath + path
}
// more code here ...
Run Code Online (Sandbox Code Playgroud)
我正在使用PhantomJS作为测试运行器,以防本地和jenkins相关.
我很欣赏有关可能是什么问题的任何指示.
我正在尝试为64位平台交叉编译我的软件版本.我可以在同一台机器上安装32位和64位版本的libstdc ++,而不必担心破坏我的linux安装.Os是32位ubuntu.
我以前没有交叉编译,只是想检查一下,如果我为适当的CPU设置我的CFLAGS和LDFLAGS,一旦安装了正确版本的libstdc ++,我应该没问题.
我检查了64位版本的ubuntu但是它有一个符号链接
lib64 - > lib
如果在32位机器上就是这种情况,这会弄乱很多人也知道如何对此进行排序?
我此刻正在遇到以下错误
Run Code Online (Sandbox Code Playgroud)[exec] /usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.2.4/libstdc++.so [exec] /usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.2.4/libstdc++.a when searching for -lstdc++ [exec] /usr/bin/ld: skipping incompatible等等
[exec] /usr/bin/ld: cannot find -lstdc++
[exec] collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
这似乎是因为我没有64位版本的libstdc ++
快速背景我有一个并发映射,我用来缓存一些经常更改的值(仍然值得从测试中缓存它们).我想通过检查值中的过期时间来定期从我的缓存中逐出项目.我使用keySet()方法获取对我所有键的引用,然后检查值,如果过期我删除它们.在其他线程中,正在不断查询和更新(删除)缓存.
从keySet()的javadocs中可以看出,当我迭代键集时,地图是否会发生变化.设置结果是未定义的.显然我想要一种定义的方法来处理这个,所以结果是有效的.是否足以将Set传递给HashSet然后迭代这个集合,因为我理解这个集合不会被映射支持,这是否浪费了内存的方式呢?任何想法都赞赏.
不幸的是,我的逐出器不是从并发映射中删除项目的唯一方法,所以我说我需要在迭代之前将keySet复制到另一个Set.
提前致谢
编辑:事实证明我正在读取Map keySet()方法的javadocs而不是ConcurrentMap keySet().谢谢我的坏:)
返回此映射中包含的键的set视图.该集由地图支持,因此对地图的更改将反映在集中,反之亦然.如果在对集合进行迭代时修改了映射(除了通过迭代器自己的remove操作),迭代的结果是未定义的.该集支持元素删除,它通过Iterator.remove,Set.remove,removeAll retainAll和clear操作从地图中删除相应的映射.它不支持add或addAll操作.
背景
我有一个Spring Client应用程序,它使用RMI为两台服务器提供服务.在客户端中,我将实体保存到数据库(简单)并使用实体的详细信息对两个服务器进行rmi调用.我在服务器上使用Spring 3.0.2,客户端是一个简单的Spring-mvc站点.
要求
我的要求是,如果任何rmi调用对整个事务回滚的服务器失败,那么实体不会保存在客户端上,如果rmi调用成功,那么它也会回滚.
我对分布式事务比较新,但我想我想要一个使用RMI调用的XA事务.
我没有找到关于这个问题的一个很好的链接在这里,但它没有提及调用两个远程方法调用到不同的服务器时的模式.我希望在推荐阅读方面听到更多有关该主题的内容,以及有关如何使用spring实现此目的的任何指示.是否可以使用事务管理器?
谢谢.
我有一小部分测试代码示例,我尝试将 Map 转换为 JSON 字符串并返回。从 JSON 字符串解析时,生成的映射包含字符串键“1”而不是整数键“1”,从而使测试失败。用作此映射键的 POJO 也会发生同样的情况。这种行为是预期的还是我省略了 JSON 转换器的一些配置?
public class SampleConverterTest {
@Test
public void testIntegerKey() {
// Register an Integer converter
JSON.registerConvertor(Integer.class, new JSONPojoConvertor(Integer.class));
Map<Integer, String> map = new HashMap<Integer, String>();
map.put(1, "sample");
// Convert to JSON
String msg = JSON.toString(map);
// Retrieve original map from JSON
@SuppressWarnings("unchecked")
Map<Integer, String> obj = (Map<Integer, String>) JSON.parse(msg);
assertTrue(obj.containsKey(1));
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用 jetty-util 7.6.10.v20130312
我是一个jQuery noobie,并且一直在尝试添加一个脚本来更改div onClick的id.
这是一个jsfiddle的例子.
$(function accept() {
$("div:scrollwrap").attr('scrollwrap','highlight');
});?
Run Code Online (Sandbox Code Playgroud)
谢谢 :)
当你在java应用程序中使用它的内置文件选择器时,如何查看/访问LINUX目录中的隐藏项目

背景
使用以下http客户端
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.12</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我的假设 在管理连接池中的连接时,选择连接时,应在选择连接池中的相同连接之前考虑客户端证书。我不希望使用 clientB TLS 证书连接 clientA,反之亦然。
问题 这个假设正确吗?
场景1)
我将每条路由的最大连接数设置为 2。我调用客户端 A 的 MTLS 安全服务器。(池中的一个连接) 我调用客户端 A 的 MTLS 安全服务器。(池中两个连接)这不应该重用第一个连接吗?
场景2)
我将每条路由的最大连接数设置为 2。我为客户端 A 调用 MTLS 安全服务器。(池中的一个连接)我为客户端 B 调用 MTLS 安全服务器。(池中两个连接)
然而,第二次调用似乎没有执行完整的握手,而是使用了 clientA 证书。
我希望第二次调用需要完整的握手,并且连接无论如何都不相关。
这是预期的行为吗?我在这里遗漏了一些明显的东西吗?
更新了更简单的测试用例
我们现在使用 http 上下文,因此我附上了更新的日志。我也简化了测试用例,现在它每次都连接到同一服务器两次,应该使用不同的客户端证书。
该应用程序使用 Spring Boot,并具有单个 RestTemplate 和单个 httpClient。
它使用 PrivateKeyStrategy 来决定与服务器通信时使用什么私钥/证书。
第一个连接使用密钥别名“e2e_transport_key_id_franek”(您将在日志中看到这一点)
第二个连接应使用别名“e2e_transport_key_id_pdw”(日志中从未见过)
我们建立的第二个连接应该使用别名为“e2e_transport_key_id_pdw”的密钥/证书,但是会话已恢复,请参见第 448 行尝试恢复会话。这意味着我们无法使用 PrivateKeyStrategy 来选择要使用的客户端证书。
如何强制客户端连接不重复使用我们打算使用不同客户端证书的连接的会话?
这可能看起来像一个愚蠢的问题.事实上,它更像是民意调查:你的Sonar数据库有多大?我需要这个来估计虚拟机托管我的Sonar实例的要求.
也:
我将不胜感激任何帮助.
我在通过RMI传输的对象上遇到一个奇怪的问题.这已经破坏了我的头几天了,我想知道是否有人可以帮助解决这个问题.
我有一个Garage类(也是一个JPA实体,如果它是相关的)我推送到一个名为X over RMI的java进程(所以这个对象被序列化).Garage对象存储一个名为Car(也是JPA实体)的对象列表,这些对象也是Serializable.
Garage上的equals方法基本上是在汽车列表中调用equals(一个ArrayList)
当我在java进程中调用equals时,它不会因为某种原因在列表上调用equals,就像我期望它在列表中的所有Cars上调用equals来检查列表是否相等而不执行此操作.
奇怪的是,当单元测试时,它确实调用了Cars ArrayList的所有成员的equals.我甚至将对象序列化为单元测试的一部分,这也有效.有任何想法吗?我希望我能解决问题,随时请求任何信息澄清任何事情.
编辑:我几乎可以肯定它的ArrayList很奇怪,因为当我在我的对象中手动执行equals而不是在汽车列表中调用equals时我在汽车列表上执行了foreach循环并在每辆Car上调用equals(就像我预期的ArrayList equals无论如何,它按预期工作)
@Entity
@Table(schema="pdw", name="garage")
public class Garage
implements Comparable<Garage> ,
Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private String id;
private String name;
@OneToMany(cascade = CascadeType.ALL)
@JoinTable(schema="pdw")
private List<Car> cars = new ArrayList<Car>();
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name; …Run Code Online (Sandbox Code Playgroud) 我试图让styles.css不缓存,因为服务器在缓存时遇到css问题.
<script>
var numBAH = Math.floor(Math.random()*100);
</script>
<link href="styles.css+ numBAH +" rel="stylesheet" type="text/css" />
Run Code Online (Sandbox Code Playgroud) java ×6
jquery ×2
map ×2
rmi ×2
32-bit ×1
64-bit ×1
angular ×1
arraylist ×1
c++ ×1
concurrency ×1
converter ×1
css ×1
database ×1
diskspace ×1
evaluation ×1
git ×1
hidden-files ×1
integer ×1
javascript ×1
jfilechooser ×1
jpa ×1
json ×1
karma-runner ×1
linker ×1
linux ×1
mtls ×1
size ×1
sonarqube ×1
spring ×1
ssl ×1
tls1.2 ×1