小编Nig*_*olf的帖子

Spring属性注入最终属性@Value - Java

关于最终属性的属性文件中Spring注入的简单问题.

我有一个属性文件,我想存储一个文件路径.通常当我使用属性文件时,我使用类似这样的东西设置类属性:

private @Value("#{someProps['prop.field']}") String someAttrib ;
Run Code Online (Sandbox Code Playgroud)

然后在我的spring.xml我会有类似的东西:

<util:properties id="someProps"   
    location="classpath:/META-INF/properties/somePropFile.properties" />
Run Code Online (Sandbox Code Playgroud)

这很好用,很简单,使代码更好,更整洁.但我不确定在尝试将属性值注入最终类属性时使用的最佳模式是什么?

显然是这样的:

private static final @Value("#{fileProps['dict.english']}") String DICT_PATH; 
Run Code Online (Sandbox Code Playgroud)

不管用.还有另外一种方法吗?

干杯!

java spring dependency-injection properties properties-file

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

Spring Util:通过注释将属性注入到bean中

如果我在Spring XML中设置了2个.properties文件,那么:

<util:properties id="serverProperties" location="file:./applications/MyApplication/server.properties"/>
<util:properties id="someConfig" location="file:./applications/MyApplication/config.properties"/>
Run Code Online (Sandbox Code Playgroud)

如何通过注释将这些属性文件注入到bean中java.util.Properties

如何通过Spring注释获取特定属性?

干杯!

java spring dependency-injection properties

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

Java线程池/执行器服务和wait() - 线程和任务队列会发生什么?

我环顾四周但没有找到答案,所以我想确认一下.

假设我有一个固定大小的线程池 - ExecutorService pool = Executors.newFixedThreadPool(5);

我有一些代码:

pool.execute(new Runnable(){
    try{
        Object waitForMe = doSomethingAndGetObjectToWaitFor();
        waitForMe.wait();
        doSomethingElse();
    }catch(Exception e){ throw new RunTimeException(e) } 

});
Run Code Online (Sandbox Code Playgroud)

让我们假设上面的代码被称为几百次.池中只有5个线程(因此上述语句中只有5个应该在一个点上存在).还假设wait()在一个对象上对一个thrid方做了一些I/O调用,并在操作完成时等待回调,所以它自然需要一段时间才能完成.

现在我的问题是当其中一个任务到达a时的行为是什么wait(),任务是否进入休眠状态,然后线程池中的线程从队列中取出另一个任务并开始运行它?

如果正在等待的任务进入睡眠状态,当它获得notify()并唤醒时会发生什么?线程是否返回到线程池的队列(前面或后面)并等待,直到5个线程中的一个可以继续执行它(即调用doSomethingelse())?或者正在执行它的线程是否也进入休眠状态,即5个执行程序线程中的一个正在等待任务(这是我假设的)?或者执行程序线程是否接受另一个任务,并在第一个任务从wait()返回时被中断?

java concurrency multithreading executorservice threadpool

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

Apache Camel - 在启动时触发任务仅运行一次

我正在使用Camel&Spring开发Java项目.我们想在Spring完成它的事情并且Camel完成构建所有路由之后在单例bean上触发初始化方法.

我们不能在类创建时调用该方法,因为它与从@Component spring注释中获取的其他类具有动态链接,并且我们不知道这些类何时/是否已经加载到实际运行init方法作为a的一部分构造函数.

如何在Camel启动完成后立即调用一个或多个方法来运行?

谢谢!

java spring apache-camel

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

Java逐行方法/功能分析 - Profiler和/或Eclipse插件

我有一些较大的方法,我试图在Java中进行优化.我一直在使用jVisualVM来完成我的大部分分析,因为它提供了方法调用热点,是一个很好的起点.

我正在寻找的是一个逐行热点分析器,可以帮助我缩短这么长时间.我过去使用的繁琐工作只是战略性地放置System.currentTimeMillis()打印,在更极端的情况下使用Java CPUTime(通过JNI完成).有一些像英特尔平行放大器这样的分析器可以与C&Visual Studio一起使用,但对于Java有什么类似的吗?

这两个选项都有点乏味,所以有什么(Eclipse插件或其他)可以进行逐行热点分析吗?

java eclipse performance profiler

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

使用IntelliJ 13和SBT 0.13运行播放2.2.2 - 未检测到主类

我正在尝试使用最新的Play 2和Scala插件运行IntelliJ 13.1中的一个类型安全激活器项目.

我可以通过类型安全激活器运行项目没有问题但是当我尝试通过build.sbtIntelliJ中的文件打开激活器项目时,它似乎一直工作,直到我尝试通过Play 2 App运行配置运行该事物.我收到以下错误;

"C:\Program Files\Java\jdk1.8.0\bin\java" -Dfile.encoding=UTF8 -Djline.terminal=none -Dsbt.log.noformat=true -Dsbt.global.base=C:\Users\nw\AppData\Local\Temp\sbt-global-plugin5970836074908902993stub -Xms512M -Xmx1024M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M -classpath C:\Users\nw\.IntelliJIdea13\config\plugins\Scala\launcher\sbt-launch.jar xsbt.boot.Boot run
    Getting org.fusesource.jansi jansi 1.11 ...
    :: retrieving :: org.scala-sbt#boot-jansi
        confs: [default]
        1 artifacts copied, 0 already retrieved (111kB/37ms)
    Getting org.scala-sbt sbt 0.13.0 ...
    :: retrieving :: org.scala-sbt#boot-app
        confs: [default]
        43 artifacts copied, 0 already retrieved (12440kB/109ms)
    Getting Scala 2.10.2 (for sbt)...
    :: retrieving :: org.scala-sbt#boot-scala
        confs: [default]
        5 artifacts copied, 0 already retrieved (24390kB/62ms)
    [info] …
Run Code Online (Sandbox Code Playgroud)

scala intellij-idea sbt sbt-idea playframework-2.0

16
推荐指数
2
解决办法
9654
查看次数

HBase和Mahout - 使用HBase作为Mahout的数据存储/源 - 分类

我正在开发一个大型文本分类项目,我们将文本数据(简单消息)存储在HBase中.

我们有两个问题,首先我们想使用HBase作为Mahout分类器的来源,即Bayers和Random Forests.

其次,我们希望能够存储在HBase中生成的模型,而不是使用内存方法(InMemoryBayesDatastore),但随着我们的集合的增长,我们遇到了内存利用率问题,并希望测试HBase作为一种可行的替代方案.

使用带有Mahout的HBase似乎很少有材料浮动,如果可以将它用作潜在的数据源.我在Java中使用Mahout 0.6核心API,它具有InMemory数据存储区.

做一点挖掘我相信那里有一个HBase Bayers数据存储组件 - org.apache.mahout.classifier.bayes.datastore.HBaseBayesDatastore请参见旧版JavaDoc:http://www.jarvana.com/jarvana/view/org/apache/mahout/mahout-core/0.3/mahout -core-0.3-javadoc.jar!/org/apache/mahout/classifier/bayes/datastore/HBaseBayesDatastore.html

但是,看看最新的文档看起来这个功能已经消失了......?https://builds.apache.org/job/Mahout-Quality/javadoc/

我想知道是否仍然可以使用HBase作为Bayers和RandomForests的数据源,这是否有任何先前的用例?

谢谢!

hadoop hbase classification machine-learning mahout

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

HBase错误 - 分配-ROOT-失败

我刚刚从cloudera(3)安装了hadoop和hbase,但是当我尝试去http:// localhost:60010时,它只是坐在那里不断加载.

我可以很好地访问regionserver - http:// localhost:60030 ...查看主hbase服务器日志我可以看到以下内容.

看起来像根区域的问题.

所有这些都安装在运行Ubuntu(Natty)11的ext4 1TB分区上.没有集群/其他盒子.

任何帮助都会很棒!

11/05/15 19:58:27 WARN master.AssignmentManager: Failed assignment of -ROOT-,,0.70236052 to serverName=localhost,60020,1305452402149, load=(requests=0, regions=0, usedHeap=24, maxHeap=995), trying to assign elsewhere instead; retry=0
org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed setting up proxy interface org.apache.hadoop.hbase.ipc.HRegionInterface to /127.0.0.1:60020 after attempts=1
    at org.apache.hadoop.hbase.ipc.HBaseRPC.waitForProxy(HBaseRPC.java:355)
    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getHRegionConnection(HConnectionManager.java:957)
    at org.apache.hadoop.hbase.master.ServerManager.getServerConnection(ServerManager.java:606)
    at org.apache.hadoop.hbase.master.ServerManager.sendRegionOpen(ServerManager.java:541)
    at org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:901)
    at org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:730)
    at org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:710)
    at org.apache.hadoop.hbase.master.AssignmentManager$TimeoutMonitor.chore(AssignmentManager.java:1605)
    at org.apache.hadoop.hbase.Chore.run(Chore.java:66)
Caused by: java.net.ConnectException: Connection refused
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567)
    at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206)
    at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:408)
    at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.setupIOstreams(HBaseClient.java:328)
    at org.apache.hadoop.hbase.ipc.HBaseClient.getConnection(HBaseClient.java:883) …
Run Code Online (Sandbox Code Playgroud)

database hadoop hbase nosql cloudera

13
推荐指数
2
解决办法
7683
查看次数

Eclipse DLTK和Ruby Fast Debugger

我正在尝试在Windows Vista x64机器和Ruby 1.92环境中使用Eclipse(安装了DLTK)调试Ruby脚本.

我安装了ruby-debug19,ruby-debug-base19,ruby-debug-ide19 gems,但我仍然无法使用Eclipse调试Ruby脚本.它说以下,

调试引擎未启动选择了"Fast Ruby Debugger(ruby-debug)",但似乎没有在所选的Ruby解释器(C:\ Ruby192\bin\ruby​​.exe)中安装'ruby-debug'gem.

我还将该c:\Ruby192\lib\ruby\gems文件夹添加到Eclipse中Ruby解释器设置的系统库路径中.

我该如何解决这个问题?

ruby eclipse debugging rubygems eclipse-plugin

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

Akka Pattern - 演员树,回复原始来源

这是一个设计问题;

假设我有一组演员,他们会做一堆处理.处理由客户端/连接参与者启动(即树是服务器).最终客户端演员想要一个响应.即我有一个看起来像这样的演员系统.

    ActorA  <---reqData--- Client_Actor
       | msgA                    /|\                      
      \|/                         |                 
    ActorB                        |                  
  msgB |  \ msgD                  | 
      \|/  \/                     | 
    ActorC  ActorD---------msgY-->|
       |_____________msgX_________|
Run Code Online (Sandbox Code Playgroud)

客户端系统想要的响应是叶子参与者的输出(即ActorC和/或ActorD).树中的这些参与者可能正在与外部系统进行交互.该树可以是一组预定义的可能路由的演员(即,Client_actor只有一个actorref到演员树的根,ActorA).

问题是管理将最终/叶子演员的响应(msgX和/或msgY)发送回客户端演员的最佳模式是什么?

我可以想到以下几种选择;

  • 为每个连接客户端创建一个树,让演员跟踪发件人,当他们获得msgXmsgY发送给原始发件人引用时,将消息传递回树中.即每个演员都会保留原始发件人的参考号.
  • 以某种方式向下发送消息中的Client_Actorref reqData并为树中使用的所有消息复制它,以便叶子演员可以直接回复Client_actor...这似乎是最高性能的选项.不知道如何做到这一点(我在某种方式上考虑了包含客户端参与者的消息案例类的特征)...
  • 以某种方式根据通过树传递的消息中的唯一ID查找客户端actor或使用actorselection(不确定这对远程处理有多好)...
  • 更好的东西...

仅供参考我正在使用Akka 2.2.1.

干杯!

design-patterns scala message-passing akka akka-cluster

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