小编tpd*_*pdi的帖子

Java中参数的执行顺序保证?

给出以下函数调用C:

fooFunc( barFunc(), bazFunc() );
Run Code Online (Sandbox Code Playgroud)

执行的顺序barFuncBazFunc未指定,因此barFunc()可以在in 之前bazFunc()bazFunc()之前调用.barFunc()C

Java指定函数参数表达式执行顺序或喜欢的C是不确定?

java specifications operator-precedence jls

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

Maven(Surefire):从src/test/java复制测试资源

Maven的Surefire(测试)插件将mvn test-compile文件复制src/test/resourcestarget/test-classes.它编译.javasrc/test/java,并复制编译的.class文件target/test-classes.

但它不会复制资源src/test/java,并且能够将测试资源放在.java与其资源类相同的目录中比在并行层次结构中更方便src/test/resources.

是否有可能让Maven从中复制资源src/test/java

resources copy maven maven-surefire-plugin

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

Google Guava比Apache Collections"更难"使用吗?

我想让我的团队使用混合技能级别来使用Google Guava.在Guava之前,我已经使用了Apache Collections(或其通用版本).

与Apache Collections相反,Guava在某些方面似乎更强大,但对于经验不足的程序员来说可能不太容易使用.这是我认为可以举例说明的一个领域.

我继承的代码包含很多循环,这些循环基本上是异构值的映射,探测它们的值,进行空检查,然后做一些微不足道的事情:

boolean foo( final List< MapLike > stuff, final String target ) {
  final String upperCaseTarget = target.toUpperCase(0;

  for( MapLike m : stuff ) {
     final Maplike n = (MapLike) m.get( "hard coded string" );
     if( n != null ) {
         final String s = n.get( "another hard code string" );
         if( s != null && s.toUpperCase().equals( upperCaseTarget ) ) {
            return true ;
         }
     }
   return false ;
}
Run Code Online (Sandbox Code Playgroud)

我最初的想法是使用Apache Collections Transformers:

boolean foo( …
Run Code Online (Sandbox Code Playgroud)

java collections guava

26
推荐指数
2
解决办法
5867
查看次数

Oracle包级别变量的范围

给定以下Oracle(10g)包定义:

create or replace PACKAGE "foo"
AS

   bar VARCHAR2(32000) := NULL;

END;
Run Code Online (Sandbox Code Playgroud)

酒吧的范围是什么?每个会话是否都有自己的foo.bar,或者跨会话是foo.bar全局?

你能从参考文件中引用章节和经文吗?

oracle plsql

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

Java ETL:很难找到合适的一个

我正在寻找一个可嵌入的Java ETL,即可以从Java代码调用的Extract Transform Load引擎.

我发现很难找到合适的产品.

我主要看的是将分隔的文本文件加载到数据库表中,并在此过程中进行一些小的转换.

我想要以下功能:

  • 能够在外部指定简单映射,例如,文本列5到数据库列foo,指定了一些xml映射文件
  • 能够为数据库节点提供javax.sql.Datasource

CloverETL允许在XML中指定映射,但数据库连接必须是JNDI名称或指定driverClass,url,dbusername,password等的属性文件.因为我已经javax.sql.Datasource通过我的依赖注入框架设置了,所以属性文件看起来很痛苦,不健壮的,特别是如果我想在多个环境(dev,test,prod)中工作.

KETL告诉我"我们目前正在全面检修KETL™的文档.因此,只有安装指南已经更新." 诚实,但没有帮助.

八达通现在是"http://www.together.at/prod/database/tdt",正在"正在建设中".

Pentaho 似乎使用与CloverETL相同的"指定driverClass"样式,而不是使用数据源,但Pentaho的文档用于从java代码调用它们的引擎很难找到.

基本上我真的很想能够做这个伪代码:

extractTransformLoad(         
        getInputFile( "input.csv" ) , 
        getXMLMapping( "myMappingFile.xml") ,
        new DatabaseWriter( getDatasource() );
Run Code Online (Sandbox Code Playgroud)

有什么建议?

java etl embeddable

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

加倍我的钱:我的框架使用双倍金额

我继承了一个货币金额使用双重类型的项目.

更糟糕的是,它使用的框架和框架自己的类使用双倍的金钱.

框架ORM还处理从数据库(和存储)到数据库的值的检索.在数据库中,货币值是类型编号(19,7),但框架ORM将它们映射到双精度数.

如果没有完全绕过框架类和ORM,我能做些什么来准确计算货币价值?

编辑:是的,我知道应该使用BigDecimal.问题是我与一个框架紧密相关,例如,类framework.commerce.pricing.ItemPriceInfo有成员double mRawTotalPrice; 和双mListPrice.我公司的应用程序自己的代码扩展了,例如,这个ItemPriceInfoClass.

实际上,我不能对我的公司说,"废弃两年的工作,花费数十万美元,基于此框架的代码,因为四舍五入的错误"

java double currency

9
推荐指数
2
解决办法
625
查看次数

我有一个Linux盒子.如何查看我的HTML页面在Internet Explorer中的呈现方式?

我有一个Linux盒子.如何查看我的HTML页面在Microsoft Internet Explorer中的呈现方式?如何在Internet Explorer中测试JavaScript功能?

我不想安装VM和Windows操作系统的副本.

html browser

7
推荐指数
2
解决办法
309
查看次数

Oracle:从systables/information_schema中查找索引创建日期?

使用Oracle,如何从systables/information_schema中找到索引名称和创建日期?

如何从systables/information_schema中复制创建索引的DDL,例如, create index indexname on tablename(column_name [, column_name....]) [local];

sql oracle metadata information-schema

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

你推荐什么Java Collections库?

我继承了一个团队和一个(Java)代码库.

代码库使用了许多显式for each循环.我想用Commons Collections Transformers和Predicates及其收集和转换方法替换那些(编辑:在将来的代码中).

但是,Commons Collection不是通用的.我的代码库的其余部分,无论它缺少什么,都是,而且我不想引入大量的转换.

所以我正在观看Commons-Collections with Generics(http://sourceforge.net/projects/collections/)和Guava(以前的Google Collections)(http://code.google.com/p/guava-libraries /).

问题一:是否一般或两者都被认为是安全的生产用途?你在生产中使用过吗?

问题二:两者中,你推荐哪一个?任何使用过两者的人的答案都很棒,任何使用过两者的答案都更好!

最后,我的团队包括中高层的承包商和Java中级和初级的员工(编辑:但在非OO编程方面具有多年经验).所以我不想引入多个集合库,我确实想要一个对我的团队来说不会太难用的集合库.

谢谢!

编辑:我想是因为样板的量掩盖和淹没了实际业务代码来代替显式循环.我有嵌套循环调用具有嵌套循环的函数,所有这些都是单行的.有了适当的引进和培养,我觉得我的球队会找到一个集合/变压器/谓语方法清洁,更清晰,更快地写,更易于阅读.

java collections libraries

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

帮助我更好地理解Struts2,验证和有状态的操作

据我了解,Struts2动作类实例(与Struts1不同)可以是有状态的,因为动作的每个GET或POST都会创建一个支持动作类的新实例.

我还看到有一个标准(?)习惯用法(模式?)来提供输入形式:相同的.jsp用作两个不同动作的View组件,如下所示:

<action name="showForm" class="defaultActionThatDoesNothingExceptReturnSuccess">
  <result name="success">inputForm.jsp</result>
</action>

<action name="validateAndProcessForm" class="realAction">
  <result name="input">inputForm.jsp</result>
  <result name="success">formProcessed.jsp</result>
</action>
Run Code Online (Sandbox Code Playgroud)

第一个操作只显示表单,而不验证输入或处理它..jsp中的表单发布到第二个操作:

<s:form action="validateAndProcessForm" method="post">
Run Code Online (Sandbox Code Playgroud)

并且第二个动作验证发布的字段/参数,如果表单的输入不完整或无效则返回"输入",或者execute如果输入完整且有效则返回实际调用操作类,从而处理表单并返回(例如)formProcessed.jsp显示的类似"谢谢你的意见!".

所以我们有这种"尖桩篱笆"的习语:

defaultAction-           -> realAction-
             |           |     |       |
             -> input.jsp-  <---       -> success.jsp
Run Code Online (Sandbox Code Playgroud)

这样做是为了第一次input.jsp显示,不调用验证(因此未显示验证错误),但是在点击该jsp上的提交按钮后,"真实"操作将验证输入,可能通过返回错误,调出input.jsp将显示的无效输入.

这使我们回到有状态的,非单身的行为; 因为该操作是有状态的,因此不能在GET或POST之间共享,并且每个实例仅针对该GET或POST实例化,所以该操作无法知道特定会话是否多次"GET"同一页面.因此让showForm.action永远不会验证和歌厅validateAndProcessForm始终验证(并显示错误,如果该参数是无效的),即使是GET是第一次一个特定的会话"GETted"该URL.

这就是为什么我们需要"围栏帖子":第一个动作只是为了显示表格,第二个动作是为了捕捉输入.

我的理解是否正确?是否有一种不那么冗长的方法来做到这一点,不是在初始GET上验证输入,而是在POST上验证,而不必为每个表单都有两个动作?

validation state struts2

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