小编Boz*_*zho的帖子

模拟Runtime.getRuntime()?

任何人都可以提出任何有关如何最好地使用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)

我想知道是否有人有任何其他建议?

java junit unit-testing easymock runtime.exec

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

HQL递归,我该怎么做?

我有一个树结构,每个树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 recursion orm hibernate hql

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

为什么Java从系统中读取其默认设置

Java正在从安装它的系统中读取区域设置,时区和编码信息(可能还有更多信息).

这往往带来不好的惊喜(昨天就给我带来了一个).假设您的开发和生产服务器设置为TimeZone GMT + 2.然后在生产服务器上部署设置为GMT.2小时的班次可能不容易立即观察.虽然您可以将TimeZone日历传递给日历,但API可能会使用默认时区实例化日历(或日期).

现在,我知道应该小心这些设置,但很容易错过,因此使程序更容易出错.

那么,为什么不是Java有它自己的默认值 - UTF-8,GMT,EN_US(是的,我对非en_US区域,而拥有它默认是罚款).如果需要,应用程序可以通过某些API读取系统设置.

因此,计划将更具可预测性.

那么,这个决定背后的原因是什么?

java

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

如何在hibernate中使用条件对列表进行排序

我是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)

java sorting hibernate

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

如何验证数据库的Hibernate映射

如何检查Hibernate映射配置是否与数据库匹配?在开始执行更新和查询之前,我想知道我是否使用了错误版本的hibernate映射,然后失败了.

我有很多已经使用Hibernate注释映射的类.我也有相应的数据库连接.现在我想检查Hibernate映射是否与数据库匹配.

我想至少查看以下内容:

  • Hibernate配置中的所有映射表都有相应的数据库对象(例如表或视图)
  • 所有映射的字段都存在于数据库
  • 所有映射的字段都有正确的类型

我更喜欢我不必对映射表执行查询,最好是检查仅基于数据库元数据.

database orm hibernate

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

我应该将我的ThreadLocals放入弹簧注入的单例中吗?

有些人(例如在服务器端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是此类使用该变量的声明.

这种方法有哪些优缺点?

java concurrency spring dependency-injection

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

如何构建Facebook新的Graph API返回的对象的永久链接?

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)

谢谢,波阿斯

facebook permalinks facebook-graph-api

14
推荐指数
1
解决办法
7740
查看次数

是否值得清除Filter中的ThreadLocals以解决与线程池相关的问题?

简而言之 - tomcat使用线程池,因此可以重用线程.有些库使用ThreadLocal变量,但不清理它们(使用.remove()),所以实际上它们会将"脏"线程返回到池中.

Tomcat具有在关闭时检测这些内容以及清理线程本地的新功能.但这意味着线程在整个执行过程中都是"脏"的.

我能做的是实现a Filter,并在请求完成后(并将线程返回到池中)ThreadLocal,使用tomcat中代码(调用的方法)清除所有s checkThreadLocalsForLeaks.

问题是,值得吗?两个优点:

  • 防止内存泄漏
  • 防止库的不确定行为,假设线程是"新鲜的"

一个骗局:

  • 该解决方案使用反射,因此它可能很慢.Field当然,所有反射数据都将被缓存,但仍然如此.

另一种选择是将问题报告给不清除其线程本地的库.

java multithreading tomcat servlets

14
推荐指数
1
解决办法
2740
查看次数

为什么Hashtable不带空键?

为什么Hashtable不拿钥匙null

为什么HashMap允许null键?

使这两个类的目的是什么?Key行为如此不同?

java collections

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

基于注释的工厂方法

我希望能够自动装配单个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 spring annotations

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