任何人都可以提出任何有关如何最好地使用EasyMock预期来电的建议Runtime.getRuntime().exec(xxx)吗?
我可以将调用移动到另一个实现接口的类中的方法,但不希望在理想的世界中.
interface RuntimeWrapper {
ProcessWrapper execute(String command) throws IOException;
}
interface ProcessWrapper {
int waitFor() throws InterruptedException;
}
Run Code Online (Sandbox Code Playgroud)
我想知道是否有人有任何其他建议?
我有一个树结构,每个树Node都有父母和一个Set<Node> children.每个节点都有一个String title,我想在我选择的地方进行查询Set<String> titles,作为该节点和所有父节点的标题.我该如何写这个查询?
对单个标题的查询是这样的,但就像我说的那样,我希望它扩展到父母的整个分支.
SELECT node.title FROM Node node WHERE node.id = :id
Run Code Online (Sandbox Code Playgroud)
干杯
聂
Java正在从安装它的系统中读取区域设置,时区和编码信息(可能还有更多信息).
这往往带来不好的惊喜(昨天就给我带来了一个).假设您的开发和生产服务器设置为TimeZone GMT + 2.然后在生产服务器上部署设置为GMT.2小时的班次可能不容易立即观察.虽然您可以将TimeZone日历传递给日历,但API可能会使用默认时区实例化日历(或日期).
现在,我知道应该小心这些设置,但很容易错过,因此使程序更容易出错.
那么,为什么不是Java有它自己的默认值 - UTF-8,GMT,EN_US(是的,我对非en_US区域,而拥有它默认是罚款).如果需要,应用程序可以通过某些API读取系统设置.
因此,计划将更具可预测性.
那么,这个决定背后的原因是什么?
我是Spring3和Hibernate的新手,下面的代码工作得很好,但我试图找到一种方法让我的列表按日期字段按排序顺序返回.有人可以告诉我如何添加排序到这段代码
// To get list of all articles
@SuppressWarnings("unchecked")
public List<Friend> listFriends(String rUser)
{
Friend friend = new Friend();
friend.setUsername(rUser);
return (List<Friend>) sessionFactory.getCurrentSession()
.createCriteria(Friend.class)
.add(Example.create(friend))
.list();
}
Run Code Online (Sandbox Code Playgroud) 如何检查Hibernate映射配置是否与数据库匹配?在开始执行更新和查询之前,我想知道我是否使用了错误版本的hibernate映射,然后失败了.
我有很多已经使用Hibernate注释映射的类.我也有相应的数据库连接.现在我想检查Hibernate映射是否与数据库匹配.
我想至少查看以下内容:
我更喜欢我不必对映射表执行查询,最好是检查仅基于数据库元数据.
有些人(例如在服务器端http://www.theserverside.com/news/thread.tss?thread_id=41473)建议使用ThreadLocal对象与使用全局变量一样糟糕.我想如果你把它们变成公共静态变量就行了.那么问题是很难分辨它的使用位置,改变的地方等等.
在我的春天DI tomcat web-app中,它似乎可以解决这个问题,如果我只是为了创建一个包含我的ThreadLocal的单例对象,然后将该单例注入任何需要它的类中.
所以我的单身人士看起来像这样:
@Component
public class Username {
private ThreadLocal<String> username;
public Username() {
username = new ThreadLocal<String>();
}
public String getUsername()
return username.get();
}
public void setUsername(String name) {
username.set(name);
}
}
Run Code Online (Sandbox Code Playgroud)
可能需要它的类看起来像这样:
@Service
public class addEntryTransaction {
@Autowired
Username username;
public void method() {
...
log("Method called by "+username.getUsername());
...
}
}
Run Code Online (Sandbox Code Playgroud)
这仍然具有不必通过许多不关心的层传递用户名的好处,因此保持方法参数更简单.@Autowired是此类使用该变量的声明.
这种方法有哪些优缺点?
Facebook Graph API允许从JSON中获取Facebook对象,如帖子,视频等.以下是帖子的示例:(取自文档):
{
"id": "719323658_129694190395214",
"from": {
"name": "Rabia Yalcinkaya",
"id": "719323658"
},
"message": "COK MUHTESEM!!!",
"picture": "http://external.ak.fbcdn.net/safe_image.php?d=41762b7121ee68754ebea48dee4568aa&w=130&h=130&url=http%3A%2F%2Fats.vimeo.com%2F192%2F882%2F19288238_200.jpg",
"link": "http://vimeo.com/5646785",
"source": "http://vimeo.com/moogaloop.swf?clip_id=5646785",
"name": "Watermelon carving",
"caption": "vimeo.com",
"description": "Me carving a watermelon.",
"icon": "http://static.ak.fbcdn.net/rsrc.php/z9XZ8/hash/976ulj6z.gif",
"type": "video",
"created_time": "2010-06-23T10:58:17+0000",
"updated_time": "2010-06-23T10:58:17+0000",
"likes": 1
},
Run Code Online (Sandbox Code Playgroud)
如何构建一个网址,允许您链接回Facebook上布雷特墙上的原始视频(或其他类型)?形式的东西
http://www.facebook.com/<USER_ID>/video/<VIDEO_ID>
Run Code Online (Sandbox Code Playgroud)
谢谢,波阿斯
简而言之 - tomcat使用线程池,因此可以重用线程.有些库使用ThreadLocal变量,但不清理它们(使用.remove()),所以实际上它们会将"脏"线程返回到池中.
Tomcat具有在关闭时检测这些内容以及清理线程本地的新功能.但这意味着线程在整个执行过程中都是"脏"的.
我能做的是实现a Filter,并在请求完成后(并将线程返回到池中)ThreadLocal,使用tomcat中的代码(调用的方法)清除所有s checkThreadLocalsForLeaks.
问题是,值得吗?两个优点:
一个骗局:
Field当然,所有反射数据都将被缓存,但仍然如此.另一种选择是将问题报告给不清除其线程本地的库.
为什么Hashtable不拿钥匙null?
为什么HashMap允许null键?
使这两个类的目的是什么?Key行为如此不同?
我希望能够自动装配单个bean(foo)
@Component
public class FooUser {
@Autowire Foo foo;
}
Run Code Online (Sandbox Code Playgroud)
由另一个单身人士的方法创建(FooFactory.createFoo)
@Service
public class FooFactory {
public Foo createFoo() {...}
}
Run Code Online (Sandbox Code Playgroud)
用xml就可以了factory-method.我怎么能用注释做到这一点?
java ×8
hibernate ×3
orm ×2
spring ×2
annotations ×1
collections ×1
concurrency ×1
database ×1
easymock ×1
facebook ×1
hql ×1
junit ×1
permalinks ×1
recursion ×1
runtime.exec ×1
servlets ×1
sorting ×1
tomcat ×1
unit-testing ×1