我想生成一个5位数字,不在数据库内重复.假设我有一个名为numbers_mst的表,其字段名为my_number.
我想以这个my_number字段中不重复的方式生成数字.此前允许前面的零.所以允许像00001这样的数字.另一件事是它应该在00001到99999之间.我怎么能这样做?
我可以猜到的一件事是我可能需要创建一个递归函数来检查表中的数字并生成.
我想弄清楚为什么这段代码不能在JDK上编译1.8.0_45:
public class Example<E extends Example<E>> {
public List<? extends Example<?>> toExamples(Collection<String> collection) {
return collection.stream()
.map(v -> lookup(v))
.collect(Collectors.toList());
}
public static <E extends Example<E>> E lookup(String value) {
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
添加一个看似不必要的演员修复了它:
public class Example<E extends Example<E>> {
public List<? extends Example<?>> toExamples(Collection<String> collection) {
return collection.stream()
.map(v -> (Example<?>) lookup(v))
.collect(Collectors.toList());
}
public static <E extends Example<E>> E lookup(String value) {
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
这是编译器的错误:
Example.java:9: error: incompatible types: inference variable R has …Run Code Online (Sandbox Code Playgroud) 假设我有一个包含大量依赖项的复杂项目.依赖项的版本由许多导入范围poms管理.我的项目依赖于工件group:artifact,它依赖于工件group:transitive-dependency.当我跑步时,dependency:tree我看到这样的事情:
+- group:artifact:jar:1.3
+- group:transitive-dependency:jar:1.1 (version managed from 1.3)
Run Code Online (Sandbox Code Playgroud)
问题是group:artifact:1.3需要group:transitive-dependency1.3或更高版本.当然其中一个导入poms正在强制使用错误的版本.但除了搜索所有这些之外,还有什么方法可以知道哪一个是什么?
使用时java.net.Socket.connect(),拒绝连接和超时都会导致a ConnectException.
java.net.ConnectException: Connection timed out: connect
java.net.ConnectException: Connection refused: connect
Run Code Online (Sandbox Code Playgroud)
我怎样才能安全地区分这两者?确保解析错误消息完成了这项工作.但是当消息在未来的Java版本中发生变化时,我运气不好.
更大的图景:我正在使用带有Metro实现的JAX-WS编写Web服务客户端.当Web服务调用失败时,我想清楚地报告失败的原因,以便快速解决问题.
我想用Logback将slf4j改造成遗留应用程序.好的是,遗留应用程序有自己的日志框架.所以我所要做的就是改变日志框架以登录到slf4j而不是log4j.
它就像一场梦.我很高兴,直到我注意到为每个日志事件记录的Logback位置:
Logger.java:...
Run Code Online (Sandbox Code Playgroud)
哎呀!在试图弄清楚日志事件的来源时,这对我的开发人员来说无济于事.
如何告诉Logback在堆栈中查看实际位置的几个级别?
logger类是一个实用程序类,其方法如下:
public static void debug(String clazz, String message) {
org.slf4j.Logger logger = LoggerFactory.getLogger(clazz);
logger.debug(message);
}
Run Code Online (Sandbox Code Playgroud) 鉴于我必须使用Oracle ADF构建应用程序或一系列应用程序,我有多大的灵活性?
换句话说,ADF-land内的自由限制是什么?请注意,它仍然必须是ADF应用程序,而不仅仅是使用ADF Faces的Java EE应用程序.
我想在Twitter Bootstrap typeahead的文本输入字段上进行验证.所以我尝试按如下方式实现它.名称字段上的验证正常工作.如果你开始输入它并再次清除该字段,验证就会启动.但是在位置字段data-provide="typeahead"上,它就不会发生.但是,当您单击"提交"按钮时,确认会启动.
我试过调试它,但据我所知,Bootstrap和jQuery Validate都正确地注册了它们的事件处理程序.更奇怪的是,在验证之前安装了typeahead.所以人们会期望打破先行.但它不是......
index.html的:
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" type="text/css" href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.1.0/css/bootstrap-combined.min.css" />
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.10.0/jquery.validate.js"></script>
<script type="text/javascript" src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.1.0/js/bootstrap.js"></script>
<script type="text/javascript">
$(function() {
$('[data-provide="typeahead"]').each(function() {
var url = $(this).attr('data-url');
$(this).typeahead({
source : function(query, process) {
return $.get(url, {
name : query
}, function(data) {
var json = JSON.parse(data);
return process(json.locations);
});
},
items : 5
});
});
$('#settings-form').validate({
rules: {
name: {
required: true
},
location: {
required: true
}
},
highlight: …Run Code Online (Sandbox Code Playgroud) 我想使用 来控制我的路线何时启动RoutePolicy。因此,我将其定义为autoStartup=false
<camel:route id="myRoute" routePolicyRef="myRoutePolicy" autoStartup="false">
<!-- details omitted -->
</camel:route>
Run Code Online (Sandbox Code Playgroud)
为了开始这条路线,我尝试了:
public class MyRoutePolicy implements RoutePolicy {
// Does NOT work!
@Override
public void onInit(Route route) {
if(shouldStartRoute(route)) {
camelContext.startRoute(route.getId());
}
}
// More stuff omitted
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,什么也没发生。JavadocCamelContext.startRoute(String)可能解释了原因:
如果给定路线之前已停止,则启动该路线
如何开始一条之前没有停止过的路线?
我正在使用 Camel 2.8.0 并且无法升级。
我可以使用 JMX 控制台启动路线,但我不想依赖 JMX。
java ×3
apache-camel ×1
connection ×1
dependencies ×1
java-8 ×1
java-ee ×1
java-stream ×1
legacy ×1
logback ×1
maven ×1
mysql ×1
oracle-adf ×1
pom.xml ×1
slf4j ×1
sockets ×1
spring ×1
typeahead ×1