小编mma*_*oka的帖子

Hadoop,Mahout实时处理替代方案

我打算在我的项目中使用hadoop作为"计算集群".然而,我读到Hadoop并不打算用于实时系统,因为开销与工作相关.我正在寻找可以这种方式使用的解决方案 - 可以轻松扩展到多台机器但不需要太多输入数据的作业.更重要的是,我想使用机器学习工作,例如在神经网络之前实时创建.

我可以为此目的使用哪些库/技术?

java hadoop scalability real-time mahout

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

如何通过将整个战争部署到WildFly嵌入式来设置arquillian来测试maven war项目?

我想在嵌入式WildFly实例上对我的战争进行宏(不是微!)黑盒测试.

我的maven项目看起来像这样

<project>
  ...
  <packaging>war</packaging>

  <!-- Lots of classes in src/main/webapp and files in src/main/webapp -->
  <dependencies>
    <!-- Lots of compile/runtime dependencies that change very frequently -->
    <!-- Lots of test dependencies that change very frequently -->
  </dependencies>
</project>
Run Code Online (Sandbox Code Playgroud)

我的arquillian测试需要满足以下要求:

  • 在测试中将整个战争部署到app服务器.这包括所有生产类,所有运行时依赖项和所有src/main/webapp文件.从维护的角度来看,微型部署是不可能的,因为类依赖性和jar依赖性经常发生变化.所以我们不能枚举ShrinkWrap部署中的任何内容.
  • 不要对maven已知pom.xml的test或arquillian.xml 中的任何内容进行硬编码.这包括版本字符串,依赖项列表,包或类列表,应用服务器安装目录等.
  • 不要使用超过1个maven模块.我测试我的战争的测试属于产生战争的同一个maven模块的测试文件夹.
  • 签出我的代码的用户需要能够如此简单地运行测试:
    • 只需打开IntelliJ后,测试需要从IntelliJ运行pom.xml.
    • 使用WildFly嵌入式容器,因此不需要先安装任何东西,不需要先运行任何进程,绝对不需要设置JBOSS_HOME环境变量.
  • 我只对黑盒测试感兴趣,所以我的所有测试都可以作为客户端运行.

理论上,这可以用Arquillian的Maven解析器,嵌入式容器@RunAsClient,maven故障安全插件,一些arquillian.xml魔法和大量的maven魔法来实现.但实际上,我不能让这些东西一起工作,我也找不到任何适合这个场景的文档,所以我希望有人能清楚地展示它们如何协同工作.

shrinkwrap jboss-arquillian wildfly

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

枚举和变量的名称相同

我有以下代码(我知道它不好;)):

public class Clazz1 {

    public int test = 10;

    public enum test {a, s, d, f  }

    void sth() {
        // ...  
        }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法访问这个枚举?当我输入'test'时,它总是意味着int变量.什么是与这种情况相关的规则 - 为什么甚至编译器允许使用相同名称的枚举和int?

java

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

在PostgreSQL中DROP和CREATE vs DELETE和INSERT

我要将值从一个表复制到另一个表(相同的表方案).什么是更好的(性能):

  • 删除table1并从table2创建select*
  • 从table1中删除所有行并插入table2中的所有行

更新:我在桌子上进行了一次小测试,排了近3k行.删除和创建提供约60毫秒vs删除和插入 - 约30毫秒.

postgresql performance

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

Android上基于枚举的单例的生命周期

几天前,我发现单身人士可以在Android中成为反模式.我的单例(具有私有构造函数的类和存储在静态字段中的实例)被删除(尽管其他活动仍在使用此单例(通过getInstance()方法),因此实例被删除,因此必须创建另一个实例)因为Activity从中第一次调用被删除(在仅为此一项活动调用完成后).

我已经读过这个问题是如何解决的,但是我也读过"Effective Java".据说"单元素枚举类型是实现单例的麻烦方式".

所以现在我想知道在Android应用程序中以这种方式创建的单例的生命周期是什么?它是否与"标准单例实现"的情况相同,因此在破坏第一次被销毁时调用它的活动(即使它也用于其他活动)?

我不是要问关于正确的android单例实现还是单例模式本身(是模式还是反模式等),但是我想知道这个枚举单例对象的生命周期是什么以及什么时候它会被销毁.

lifecycle singleton enums android

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

例外和错误报告顺序

适用于以下代码的规则如下:

    try {
        assert (false) : "jane";
    } catch (Exception e2) {
        System.out.print("ae2 ");
    } finally {
        throw new IllegalArgumentException();
    }
Run Code Online (Sandbox Code Playgroud)

已启用资产.

为什么报告IllegalArgumentException而不是AssertionError?在这种情况下是否有适用的规则?

编辑: 对不起!在这个例子中应该有断言()

java scjp open-closed-principle

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

C程序中的C++ dll

我想用C++代码创建一个dll库,并在C程序中使用它.我只想导出一个函数:

GLboolean load_obj (const char *filename, GLuint &object_list);
Run Code Online (Sandbox Code Playgroud)

来自库的头文件:

#ifndef __OBJ__H__
#define __OBJ__H__

#include <windows.h>  
#include <GL/gl.h>
#include <GL/glext.h>
#include <GL/glu.h>
#include <GL/glut.h>

#if defined DLL_EXPORT
#define DECLDIR __declspec(dllexport)
#else
#define DECLDIR __declspec(dllimport)
#endif

extern "C" GLboolean load_obj (const char *filename, GLuint &object_list);

#endif // __3DS__H__
Run Code Online (Sandbox Code Playgroud)

在.cpp(在库项目中)函数也声明为:

extern "C" GLboolean load_obj (const char *filename, GLuint &object_list)
{
 code...
}
Run Code Online (Sandbox Code Playgroud)

文件.lib添加在VS项目选项(链接器/输入/附加依赖项)中..dll位于.exe所在的文件夹中.当我编译C项目时 - 错误:

Error   1   error C2059: syntax error : 'string'    
Run Code Online (Sandbox Code Playgroud)

它是关于头文件中的"extern"C""部分.

我试图将头文件更改为:

extern GLboolean load_obj (const …
Run Code Online (Sandbox Code Playgroud)

c c++ dll

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

char*函数在C中无法正确显示

#include <time.h>
#include <stdio.h>
#include <stdlib.h>

char *czas()
{
  time_t rawtime;
  struct tm * timeinfo;
  char buffer [80];
  time ( &rawtime );
  timeinfo = localtime ( &rawtime );
  strftime (buffer,80,"Now it's %I:%M%p.",timeinfo);
  return buffer;
}

int main()
{
printf("%s",czas());
system("PAUSE");
}
Run Code Online (Sandbox Code Playgroud)

我不知道为什么,但这个程序的结果只是"按任意键(...)".我也尝试将其打印为%c但它仍然无法正常工作.这个程序有什么问题?

c char

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

Katta vs Lucene + Infinispan

Lucene可以使用受干扰的infinispan缓存.我想知道基于hadoop从lucene + infinispan转移到Katta的时刻是什么时候?什么时候我会更有效地使用Katta和Lucene + infinispan?我已经读过hadoop不适合实时系统,但与Katta有什么关系?

lucene katta infinispan

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

Postgresql与c3p0 - 故障转移

我们目前正在使用postgresql的c3p0.

c3p0是否支持任何故障转移机制(文档中没有信息,所以我认为不幸的是没有)?

我发现mysql,oracle和ms sql支持jdbc url中的一些故障转移选项,例如 jdbcUrl="jdbc:sqlserver://mainserver:1433;failoverPartner=backupserver;

pgpool和pgpool-II只有postgresql的可用性吗?

postgresql failover c3p0

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

通过spring注释进行交易 - 只读或不读?

我的项目代码与此类似

@Transactional(readOnly = true)
public void tt() {
    dd();
}

@Transactional()
public void dd() {
    gg();
}

@Transactional(readOnly = true)
public void gg() {

}
Run Code Online (Sandbox Code Playgroud)

函数dd由其他只读事务函数使用,而不是只读函数.假设事务应该从执行tt扩展到gg - dd中的操作是否为只读事务?

spring transactions readonly

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

Hibernate子查询上的ClassCastException

我遇到了以下代码的问题.类id为Long,B类id是嵌入式id,其中一个字段为A类.

DetachedCriteria dc = DetachedCriteria.forClass(A.class,"a").setProjection(Property.forName("a.id"));      
Criteria cr= this.sessionFactory.getCurrentSession().createCriteria(B.class,"b").add(Subqueries.in("b.id.a.id", dc));           
List<B> bb = cr.list();
Run Code Online (Sandbox Code Playgroud)

这给出了例外:

java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Long
Run Code Online (Sandbox Code Playgroud)

但是这个:

List<Long> dd =  this.sessionFactory.getCurrentSession().createCriteria(A.class,"a").setProjection(Property.forName("a.id")).list();
Criteria cr= this.sessionFactory.getCurrentSession().createCriteria(B.class,"b").add(Restrictions.in("b.id.a.id", dd));


List<B> bb = cr.list();
Run Code Online (Sandbox Code Playgroud)

作品.我究竟做错了什么?

hibernate subquery classcastexception

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

将文件传入和传出JBossAS到客户端

我有客户端服务器应用程序,JBossAS7和客户端使用服务器提供的远程EJB.我必须将文件从客户端传递到服务器,然后通过InputStream进一步处理.还必须将文件从服务器传递到客户端,在服务器上我得到OutputStream.文件大小不受限制,甚至可能是5GB.我该怎么做才能实现这种情况的解决方案?传递byte []数组似乎不是一个好的解决方案,RMI限制了我读过的大小.RMIIO是GPL(我需要商业用途的解决方案).http转移是唯一合理的方式吗?

编辑:似乎RMIIO总是LGPL!

jboss rmi file jboss7.x

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