小编mat*_*ake的帖子

为什么Kotlin不能推断比较器的类型

阅读有关SAM转换的Java互操作文档,我期待Kotlin函数

Collections.sortWith(comparator: kotlin.Comparator<in T> /* = java.util.Comparator<in T> */)

能够在不需要显式指定参数的情况下获取lambda函数是Comparator.但是,以下代码给出type inference failed:

val someNumbers = arrayListOf(1, 5, 2)
someNumbers.sortWith({ x, y -> 1 })
Run Code Online (Sandbox Code Playgroud)

然而:

val someNumbers = arrayListOf(1, 5, 2)
someNumbers.sortWith(Comparator { x, y -> 1 })
Run Code Online (Sandbox Code Playgroud)

编译并正确运行

kotlin kotlin-interop

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

在JBoss EAP6中为异步会话bean方法创建两个线程池?

在我的应用程序中,我在两个不同的地方对会话bean使用@Asynchronous业务方法.每个都有自己的逻辑和要求,所以理想情况下我想为每个配置一个最大线程池大小.看起来JBoss EAP 6.2.2 EAP只允许一个异步线程池.

有没有办法创建两个,或者我只需要创建一个足够两者的单个池(并且失去限制的能力)?

java java-ee-6 ejb-3.1 jboss7.x jboss-eap-6

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

将 SQS Lambda 批次拆分为部分成功/部分失败

AWS SQS -> Lambda 集成允许您批量处理传入消息,您可以在其中配置可以在单个批次中接收的最大数量。如果在处理过程中抛出异常以指示失败,则所有消息都不会从传入队列中删除,并且一旦可见性超时过去,就可以由另一个 lambda 拾取进行处理。

出于性能原因,是否有任何方法可以保持批处理,但允许批处理中的某些消息成功(并从入站队列中删除)并且只保留某些批处理未删除?

amazon-sqs aws-lambda

6
推荐指数
3
解决办法
2659
查看次数

Apache 访问日志是否会错过请求?

我的工作场所在各种 Java 应用程序服务器前面都有 Apache。我经常需要调查生产问题,并依赖那些记录对应用程序服务器的所有请求的 Apache 访问日志,无论它们是成功 (200)、重定向 (302)、错误 (500) 还是其他状态。

然而,有几次,通常当应用程序服务器变得无响应并需要重新启动时,看起来可能某些请求尚未记录。

我尝试在本地复制此内容(启动一个长时间运行的请求,并允许该请求超过 Apache 服务器上的超时时间,或者只是从命令行终止应用程序服务器),但我总是在访问日志中记录一个请求。

我的问题是,假设 Apache 运行良好但遇到应用程序服务器问题,Apache 访问日志是否会错过请求?

java apache

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

XML :: Twig keep_encoding如何工作?

在几年前,我发现了一些Perl online,它在单行时整齐地格式化了有效的XML(标签和换行符).代码如下.

它使用XML :: Twig来做到这一点.它创建XML ::嫩枝对象而不 keep_encoding( $twig = XML::Twig->new()),但如果我给它在它的非ASCII字符UTF-8编码的XML文件时,它产生一个文件,该文件是不是有效根据isutf8命令上UTF-8 Ubuntu Linux系统.在xxd中打开文件,我可以看到字符从2字节变为1.

如果我使用我$twig= XML::Twig->new(keep_encoding=>1);的相同输入产生有效的UTF-8并保留两个字节.

根据Perldoc的keep_encoding

这是一个(稍微?)邪恶的选项:如果XML文档不是UTF-8编码并且你想保持这种方式,那么设置keep_encoding将使用Expat original_string方法作为字符,从而保持原始编码,以及字符串中的原始实体.

为什么在没有该选项的情况下生成非UTF-8文档,为什么设置它会导致保留UTF-8-ness?

顺便说一下,非ASCII字符是一个不间断的空格(c2 a0).

use strict;
use warnings;
use XML::Twig;
my  $sXML  = join "", (<>);
my  $params = [qw(none nsgmls nice indented record record_c)];
my  $sPrettyFormat  = $params->[3] || 'none';
my $twig = XML::Twig->new();
$twig->set_indent(" "x4);
$twig->parse( $sXML );
$twig->set_pretty_print( $sPrettyFormat );
$sXML      = $twig->sprint;
print $xXML;
Run Code Online (Sandbox Code Playgroud)

perl utf-8 xml-twig

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

詹金斯建立永远不会完成

我设置了一个Jenkins主/从服务器,该服务器工作得很愉快,在某些Linux机器上运行Oracle导入。

我刚刚添加了一个新的从属节点,并尝试在此新节点上运行我们现有的数据库导入作业。这项工作包括三个子项目;第一个运行一些执行Shell,复制文件并更改权限,目前已成功完成,第二个运行一个以Oracle impdp结尾的执行Shell。impdp完成(数据库存在并且ps -ef不再显示impdp运行),但是Jenkins子项目从未完成。UI只是坐在那里,时钟在旋转。

我尝试在impdp之后添加回显,并且也可以正确执行,但是子项目仍然无法完成。

如果添加构建后电子邮件通知,则不会发送。

从未达到第三个子项目。

这可能是什么原因,以及如何调试正在发生的情况?

oracle bash jenkins

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

如何在Chef节点上设置属性?

我似乎在厨师身上缺少明显的东西。我想在我的食谱可以访问的节点上设置一个属性(文件路径),这是因为某个文件位于不同节点上的不同位置。

我假设这将在JSON / RB文件或配方中,因此我可以将其视为代码,检入版本控制等。

诸如如何使用刀来编辑ec2节点的Chef属性之类的解决方案-将其作为Knife命令使用,但如上所述,我宁愿有类似配方或文件的内容(似乎更明显:-)

诸如如何在Chef客户端上设置节点属性的解决方案建议一个食谱,但是我是否要在运行列表中指定特定于节点的食谱(类似

knife bootstrap serverX ...-r unstall_jboss::serverX_setup,install_jboss::small_nfr_server...
Run Code Online (Sandbox Code Playgroud)

我宁愿不使用环境,因为此信息特定于节点,而不特定于环境。

谢谢-就像我说的,我觉得我缺少明显的东西

chef-infra knife

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

从Oracle跟踪文件中查找死锁中涉及的所有语句?

据我了解,涉及行锁定的死锁的典型情况需要四个SQL语句.二合一事务更新行A和行B,然后另外两个在单独的事务中更新相同的行,并且需要相同的锁,但顺序相反.

事务1在事务2可以请求之前获得对行A的锁定,事务2在事务1可以获得它之前获得对行B的锁定,并且两者都不能获得剩余的所需锁定.必须回滚一个或任一事务,因此另一个事务可以完成.

当我在死锁后查看Oracle跟踪文件时,它似乎只突出显示两个查询.这些似乎是每笔交易中的最后一笔.

如何识别每个事务中涉及的其他语句,或者Oracle跟踪文件中是否缺少这些语句?

如果需要,我可以包含特定跟踪文件的相关位.

oracle trace deadlock

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

将子类型的HashMap转换为超类型的HashMap

我确实有操纵哈希映射的麻烦.我的问题很简单,但我不能让它工作......

我有一个名为的接口MultilineWritable.我需要在平面文件上编组的类确实实现了这个接口,它定义了一个String toFlatFormat()函数及其相反的功能init(String flatFormat).

现在假设Contract类实现MultilineWritable并由整数标识,而Person类也实现此接口但由字符串标识.

我对合同和人员的HashMaps进行编组的功能如下:

public void marshall(HashMap<Object, MultilineWritable>){}
Run Code Online (Sandbox Code Playgroud)

我的问题是我无法找到一种方法来转换HashMap<String, Person>为a HashMap<Object, MultilineWritable>,即使String扩展ObjectPerson扩展MultilineWritable.同样的铸造HashMap<Integer, Contract>...因此我无法调用我的通用功能.

感谢有关此问题的任何帮助.

java generics casting hashmap

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

用于java执行路径分析的工具

在确定各种错误修复的影响的同时,我经常发现自己试图找到通过代码库的所有路由,这些路由最终会出现在我更改的代码中.这是一个繁琐的手动过程,涉及在Eclipse中单击方法名称并搜索"引用...",同时在记事本中绘制调用的树形结构.

似乎应该是可自动化的,但每当我搜索这样的工具时,我都找不到这样的东西.似乎有工具可以分析代码中的错误,竞争条件等(例如FindBugs,PMD,Checkstyle),但没有任何东西会简单地通过代码输出潜在的路线.我很可能没有使用正确的搜索词.

这样的工具是否存在于Java或者我忽略了为什么这不可能的关键原因?

java profiling

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

c ++中的char初始化构造函数

我编写了这个构造函数来初始化字符类型数组

class StudentInfo
{
  char* vuId;
public:
  StudentInfo(char* vu_Id)
  {
    setVuId(vu_Id);
  }
  void setVuId(char* vu_Id)
  {
    vuId = new char[strlen(vu_Id) + 1];
    strcpy(vuId, vu_Id);
  }
};
Run Code Online (Sandbox Code Playgroud)

这段代码工作正常.但我想初始化而不必调用setVuId函数.无论如何要做到这一点?

c++ constructor

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

Ruby破解核心方法?

开始了:

images = {:default=>["http://original-img", "http://original-img2"]}
img_src = ["http://localhost/image987.jpeg", "http://localhost/image988.jpeg"]
img_ids = [2046, 2047]

_images_src = images.clone
_images_src.each_value{|v| v.map!{img_src.shift}}
p _images_src # {:default=>["http://localhost/image987.jpeg", "http://localhost/image988.jpeg"]}

images.each_value{|v| v.map!{img_ids.shift}}
p images # {:default=>[2046, 2047]}
p _images_src # {:default=>[2046, 2047]}
Run Code Online (Sandbox Code Playgroud)

each_value如何调用图像,更改_images_src哈希?它们引用不同的对象和_images_src是CLONED图像并且仍在变化.

ruby hash

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