小编cod*_*erz的帖子

在SpringMVC Controller层中,@ Scope("prototype")vs @Scope("singleton")

我有使用SpringMVC的以下Controller代码:

@Controller
@Scope("prototype")
@RequestMapping("/messages")
public class MessageController {
    @RequestMapping(value="/index", method=RequestMethod.GET)
    @ResponseStatus(HttpStatus.OK)
    @ResponseBody
    public String displayAllMessages(ModelMap model) {
        System.out.println(this.hashCode());
        // processing
        return "messages";
    }
}
Run Code Online (Sandbox Code Playgroud)

当使用时@Scope("prototype"),每个请求都会出现,输出this.hashCode()不同,这意味着当每个请求到来时,MessageController将创建一个新实例.

如果不使用@Scope("prototype"),默认将是@Scope("singleton"),每个请求到来,输出this.hashCode()相同,意味着只MessageController创建一个实例.

我不确定什么时候应该使用@Scope("prototype"),什么时候不用?

java spring spring-mvc

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

Java 8 Lambda变量范围

我有2个代码示例:

int[] idx = { 0 };
List<String> list = new ArrayList<String>();
list.add("abc");
list.add("def");
list.add("ghi");
list.stream().forEach(item -> {
    System.out.println(idx[0] + ": " + item);
    idx[0]++;
});
Run Code Online (Sandbox Code Playgroud)

好好工作.

虽然此代码有编译错误:

int idx = 0;
List<String> list = new ArrayList<String>();
list.add("abc");
list.add("def");
list.add("ghi");
list.stream().forEach(item -> {
    System.out.println(idx + ": " + item);
    idx++;
});
Run Code Online (Sandbox Code Playgroud)

他说:

Local variable idx defined in an enclosing scope must be final or effectively final.
Run Code Online (Sandbox Code Playgroud)

唯一的区别是idxint或int数组.

根本原因是什么?

java lambda java-8

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

React JSX - 动态 html 属性

在 JSX 中,我们可以动态地指示属性值,例如:

<div className={this.state.className}>This is a div.</div>
Run Code Online (Sandbox Code Playgroud)

是否可以动态指示属性(包括属性名称和属性值)?喜欢:

const value = emptyValue ? "" : "value='test'";
<input {value} />
Run Code Online (Sandbox Code Playgroud)

这意味着,一旦emptyValue为真,“输入”标签不应包含“值”属性(值=“”与没有值属性不同,因为一个在输入字段中显示为空,另一个在输入字段中显示现有文本)。

jsx reactjs react-jsx

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

监控AWS EMR作业运行进度的最佳做法是什么?

我有以下代码来运行EMR作业,并且它成功运行.我还想监控运行状态.我使用DescribeJobFlowsAPI,但它表示根据http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/elasticmapreduce/AmazonElasticMapReduceClient.html不推荐使用此API .

有人可以帮助监控EMR运行进度的最佳实践吗?

public class EmrJobRunner {
  public static void main(String[] args) {
    // args is [input_file_path, output_directory], make sure output_directory does not exist
    String inputFilePath = "s3://mybucket/emr/input";
    String outputDirectory = "s3://mybucket/emr/output/" + System.currentTimeMillis();
    String jarName = "WordCount.jar";
    String jarPath = "s3://mybucket/emr/" + jarName;
    String logPath = "s3://mybucket/emr/logs";

    String TERMINATE_JOB_FLOW = "TERMINATE_JOB_FLOW";
    String CONTINUE = "CONTINUE";

    AWSCredentials credentials = new BasicAWSCredentials("pub_key", "sec_key");
    StepFactory stepFactory = new StepFactory();

    AmazonElasticMapReduce emr = new AmazonElasticMapReduceClient(credentials);
    emr.setRegion(Region.getRegion(Regions.AP_SOUTHEAST_1));

    StepConfig enableDebugging = …
Run Code Online (Sandbox Code Playgroud)

java amazon-web-services amazon-emr elastic-map-reduce emr

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

MyBatis无法使用joda DateTime?

我正在使用MyBatis 3.2,并希望将Oracle DATE数据类型映射到Java org.joda.time.DateTime数据类型.

这是我的配置:

<resultMap id="something" type="com.myself.SomeClass">
  <result property="creationDate" column="CREATION_DATE" javaType="org.joda.time.DateTime" />
</resultMap>
Run Code Online (Sandbox Code Playgroud)

但我得到以下错误:

Caused by: org.apache.ibatis.builder.BuilderException
         : Error parsing SQL Mapper Configuration. 
Cause    : org.apache.ibatis.builder.BuilderException
         : Error parsing Mapper XML. 
Cause    : java.lang.IllegalStateException
         : No typehandler found for property creationDate
Run Code Online (Sandbox Code Playgroud)

我的配置是否正确?或者它是由我的Oracle数据类型DATE而不是DATETIME?MyBatis支持joda DateTime吗?

java oracle datetime jodatime mybatis

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

ORA-12801:在并行查询服务器P004和ORA-01555中指示错误:快照太旧

我正在执行一个insert into ... select ... from ... where ...SQL并使用以下错误Oracle

java.sql.SQLException: ORA-12801: error signaled in parallel query server P004
ORA-01555: snapshot too old: rollback segment number 32 with name "_SYSSMU32_2039035886$" too small
Run Code Online (Sandbox Code Playgroud)

我阅读了以下文档:http : //www.dba-oracle.com/t_ora_12801_parallel_query.htmhttp://www.dba-oracle.com/t_ora_01555_snapshot_old.htm

ORA-12801之所以这么说,是因为处理器数量不足,无法支持并行查询。ORA-01555错误与撤消存储不足或undo_retention参数的值太小有关。

但是,如何检查相关参数以避免此类问题再次发生?

sql oracle oracle10g oracle11g

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

Java GraphTraversal 输出 Gremlin 查询

如何从 JavaGraphTraversal对象输出 Gremlin 查询?默认输出 ( graphTraversal.toString()) 看起来[HasStep([~label.eq(brand), name.eq(Nike), status.within([VALID])])]不容易阅读。

graph gremlin tinkerpop

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

Ruby中使用each_with_index与index的用例

Ruby的新手; 当我使用数组时,是否存在差异Enumerable#each_with_index,Array#index我一直在使用多维数组,我试图找到给定值的位置.当我使用其中任何一个时,我的代码都能够通过所有测试.坐标是我用来保存给定值的位置的数组(在本例中为1)

field=[[1,0],[0,0]]
coordinates=[]  
field.each_with_index do |item|
  if item.index(1)
    coordinates.push(field.index(item)).push(item.index(1))
  end
end
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的帮助.

ruby arrays

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

ElasticSearch Jest客户端,如何从命中返回文档ID?

我正在使用Jest作为ElasticSearch客户端来搜索文档:

JestClient client = ...;
Search search = ...;
SearchResult searchResult = client.execute(search);
List<Hit<T, Void>> hits = searchResult.getHits(klass);
Run Code Online (Sandbox Code Playgroud)

每个Hit对象看起来像:

{"_index":"some_index","_type":"some_type","_id":"some_id","_score":2.609438,"_source":{"foo1":"bar1","foo2":"bar2"}}

虽然我只能找到hit.source方法,但似乎没有hit.id方法.

将其解析为JSON对象并检索键_id的值是一种方式,但是有没有可以获取文档ID的API?

elasticsearch jest

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

Lombok 构建器方法返回类本身的实例,而不是返回构建器类

我有课User

public class User {
    private String firstName;
    private String lastName;
    private int age;

    public User withFirstName(String firstName) {
        this.firstName = firstName;
        return this;
    }

    public User withLastName(String lastName) {
        this.lastName = lastName;
        return this;
    }

    public User withAge(int age) {
        this.age = age;
        return this;
    }
}
Run Code Online (Sandbox Code Playgroud)

所以我可以使用 来初始化它User user = new User().withFirstName("Tom").withAge(30);user初始化后,我仍然可以通过 来修改它user.withLastName("Bob").withAge(31);

如何利用 Lombok 保存“withXXX”方法?@Builder 不是针对此用例设计的。

java lombok

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

$('.p')和$('p')jquery之间有什么区别?

我是jQuery的新手,当我从HTML中选择一些类时,我可以通过$('.p')或者来做$('p').我很困惑,有区别吗?

html jquery jquery-selectors web

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

Scala将字符串转换为对象

我有类定义case class Name(firstName: String, lastName: Option[String])和一个字符串Name(Tom,Some(Bob)),如何将字符串转换为Name对象?

scala

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

Java 字符串规范化

是否有一个 Java 库可以通过删除空格/特殊字符、小写所有字母来标准化字符串,例如:S-cube Abc' Inc.to scubeabcinc

java normalization

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