小编Pau*_*lan的帖子

在Linux上通过jenkins运行angular2测试时出现Karma错误

当使用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相关.

我很欣赏有关可能是什么问题的任何指示.

karma-runner karma-jasmine angular

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

libstdc ++ 64bit和32bit版本在同一台机器上

我正在尝试为64位平台交叉编译我的软件版本.我可以在同一台机器上安装32位和64位版本的libstdc ++,而不必担心破坏我的linux安装.Os是32位ubuntu.

我以前没有交叉编译,只是想检查一下,如果我为适当的CPU设置我的CFLAGS和LDFLAGS,一旦安装了正确版本的libstdc ++,我应该没问题.

我检查了64位版本的ubuntu但是它有一个符号链接

lib64 - > lib

如果在32位机器上就是这种情况,这会弄乱很多人也知道如何对此进行排序?

我此刻正在遇到以下错误

 [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
Run Code Online (Sandbox Code Playgroud)

等等

 [exec] /usr/bin/ld: cannot find -lstdc++
 [exec] collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

这似乎是因为我没有64位版本的libstdc ++

c++ 64-bit linker build-process 32-bit

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

修改映射并迭代键集时,Java ConcurentMap keySet()问题

快速背景我有一个并发映射,我用来缓存一些经常更改的值(仍然值得从测试中缓存它们).我想通过检查值中的过期时间来定期从我的缓存中逐出项目.我使用keySet()方法获取对我所有键的引用,然后检查值,如果过期我删除它们.在其他线程中,正在不断查询和更新(删除)缓存.

从keySet()的javadocs中可以看出,当我迭代键集时,地图是否会发生变化.设置结果是未定义的.显然我想要一种定义的方法来处理这个,所以结果是有效的.是否足以将Set传递给HashSet然后迭代这个集合,因为我理解这个集合不会被映射支持,这是否浪费了内存的方式呢?任何想法都赞赏.

不幸的是,我的逐出器不是从并发映射中删除项目的唯一方法,所以我说我需要在迭代之前将keySet复制到另一个Set.

提前致谢

编辑:事实证明我正在读取Map keySet()方法的javadocs而不是ConcurrentMap keySet().谢谢我的坏:)

返回此映射中包含的键的set视图.该集由地图支持,因此对地图的更改将反映在集中,反之亦然.如果在对集合进行迭代时修改了映射(除了通过迭代器自己的remove操作),迭代的结果是未定义的.该集支持元素删除,它通过Iterator.remove,Set.remove,removeAll retainAll和clear操作从地图中删除相应的映射.它不支持add或addAll操作.

java concurrency map

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

涉及RMI调用的Spring分布式事务可能吗?

背景

我有一个Spring Client应用程序,它使用RMI为两台服务器提供服务.在客户端中,我将实体保存到数据库(简单)并使用实体的详细信息对两个服务器进行rmi调用.我在服务器上使用Spring 3.0.2,客户端是一个简单的Spring-mvc站点.

要求

我的要求是,如果任何rmi调用对整个事务回滚的服务器失败,那么实体不会保存在客户端上,如果rmi调用成功,那么它也会回滚.

我对分布式事务比较新,但我想我想要一个使用RMI调用的XA事务.

我没有找到关于这个问题的一个很好的链接在这里,但它没有提及调用两个远程方法调用到不同的服务器时的模式.我希望在推荐阅读方面听到更多有关该主题的内容,以及有关如何使用spring实现此目的的任何指示.是否可以使用事务管理器?

谢谢.

java spring rmi distributed-transactions

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

JSON 转换 Map 与整数键

我有一小部分测试代码示例,我尝试将 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

java json integer converter map

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

从git远程分支中删除文件

我不小心将一些文件推送到我的远程 git 分支。从远程分支中删除这些特定文件的最佳方法是什么?

git

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

jQuery更改ID!

我是一个jQuery noobie,并且一直在尝试添加一个脚本来更改div onClick的id.

这是一个jsfiddle的例子.

$(function accept() {
    $("div:scrollwrap").attr('scrollwrap','highlight');
});?
Run Code Online (Sandbox Code Playgroud)

谢谢 :)

css jquery

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

如何访问java文件选择器中隐藏的linux文件夹

当你在java应用程序中使用它的内置文件选择器时,如何查看/访问LINUX目录中的隐藏项目

在此输入图像描述

java linux jfilechooser hidden-files

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

MTLS 和 http 客户端连接池使用

背景

  • 我需要连接到各种客户端的服务器。
  • 每个客户端连接应使用唯一的 TLS 证书。
  • MTLS 已安装在服务器上。
  • 我想使用连接池来改善延迟。

使用以下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 来选择要使用的客户端证书。

如何强制客户端连接不重复使用我们打算使用不同客户端证书的连接的会话?

客户端日志 https://pastebin.com/zN0EW3Qy

java ssl apache-httpclient-4.x tls1.2 mtls

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

声纳数据库有多大?

这可能看起来像一个愚蠢的问题.事实上,它更像是民意调查:你的Sonar数据库有多大?我需要这个来估计虚拟机托管我的Sonar实例的要求.

也:

  • 你的团队有多大?
  • 每次新提交时,Sonar数据库中使用了多少额外字节?

我将不胜感激任何帮助.

database size evaluation diskspace sonarqube

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

序列化后在ArrayList上调用equals

我在通过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)

java serialization jpa rmi arraylist

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

将随机数添加到.css,以便它不会缓存

我试图让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)

javascript jquery

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