小编les*_*es2的帖子

有什么方法可以使用JAX-WS从Javadoc生成WSDL文档吗?

我希望可以使用某种类型的扩展(尽管我认为我的希望是愚蠢的乐观).

   /**
     * <p>
     * Gets the {@link ResultObject} given the identifier. The following
     * fields are not available for some users and will contain a null value:
     * </p>
     * 
     * <ul>
     * <li>{@code resultObject.comment}</li>
     * <li>{@code resultObject.anotherObject.actionById}</li>
     * <li>{@code resultObject.anotherObject.actionByName}</li>
     * </ul>
     * 
     * <p>
     * The {@code daysInPurgatory} value will be {@code -1} when not
     * applicable
     * </p>
     * 
     * @param requestUser
     *            the user initiating the request
     * @param identifier
     *            the id of the …
Run Code Online (Sandbox Code Playgroud)

java documentation wsdl jax-ws wsgen

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

什么是一个简单的Mylyn任务存储库用于一个小型(~40 devs)项目?

我目前是唯一使用Eclipse Mylyn集成的开发人员(我是实验性的).我配置了两个存储库--Bugzilla,项目用于内部错误跟踪和本地存储库.我使用Local repo来组织我正在为迭代工作的故事.

我想做的是让Local repo可以共享,以便其他开发人员可以使用它.如果开发人员喜欢它,我们可以采用Mylyn作为项目标准.你会推荐哪种存储库?要求是"免费"(如"演讲"和"啤酒")和"令人敬畏"(如"The Rapture").它需要部署在Windows服务器上并与其他服务共享资源(因此资源不会太多).配置简单也很好,因为我只是在我自己的时间探索这个.也许是一个单独的Bugzilla实例?

谢谢!LES

eclipse ganymede repository mylyn

15
推荐指数
4
解决办法
8258
查看次数

如何在Eclipse 3.4(Ganymede)中格式化整个源代码树?

显而易见的事情是:

  1. 右键单击要格式化的文件夹.
  2. 来源>格式

预期结果:
- 目录和子目录中的所有Java代码都已格式化(使用项目特定的格式设置)

实际结果:
- 没有格式化java.

在我们处理它的同时,我们如何在Eclipse中进行批量清理操作?
在编辑器中,我右键单击>源>清理,但我一次只能执行一个文件.

eclipse

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

如何在前端使用Hibernate乐观锁定版本属性?

使用实体的version属性进行乐观锁定工作正常并且易于实现:

<version property="VERSION" type="int" column="EX_VERSION" />
Run Code Online (Sandbox Code Playgroud)

该实体具有以下类型的属性:

private int VERSION;
public int getVERSION() { return VERSION; }
public void setVERSION(int VERSION) { this.VERSION = VERSION; }
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.现在,服务方法返回上面实体的数据传输对象(DTO),视图以HTML格式显示.对于更新页面,VERSION属性存储在HTML隐藏字段中并随表单一起提交.

目的是使用version属性来确保如果显示的信息附带旧版本,则用户的更新将失败.

控制器通过调用包含更新信息(包括版本属性)的DTO的服务方法来响应用户更新请求,并且服务方法依次使用数据访问对象(DAO)来持久化更改:

public void update(SimpleDTO dto) {
    SimplyEntity entity = getSimpleDao().load(dto.getId());
    copyProperties(dto, entity); // all properties, including VERSION copied to entity
    getSimpleDao().update(entity);
}
Run Code Online (Sandbox Code Playgroud)

问题是Hibernate不遵守copyProperties(...)复制到实体中的版本属性.我在下面的论坛中找到了原因:https://forum.hibernate.org/viewtopic.php?f = 1&t = 955893&p = 2418068

简而言之,当调用load()时,Hibernate会在会话缓存中缓存version属性,并且随后更改为它的值无关紧要.我同意这是正确的行为,但我已经被老板指示通过HTML表单属性传递版本(如果有更好的模式,我很乐意听到它).

我现在正在探索的一个解决方案是在更新发生之前使用hibernateTemplate.evict(simpleEntity)设置版本之后将实体从会话中逐出.我希望这有效,但它看起来效率不高.

我想请Hibernate检查实例本身的version属性,而不是仅查看会话缓存.

提前谢谢你的答案!

- LES

java hibernate web-applications optimistic-locking

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

如何使用线程执行单元测试?

执行摘要:当线程中抛出断言错误时,单元测试不会消失.这是有道理的,因为不应该允许一个线程崩溃另一个线程.问题是我如何1)在第一个辅助线程崩溃时使整个测试失败,或者2)循环并确定每个线程完成后的状态(参见下面的代码).执行后者的一种方法是通过具有每线程状态变量,例如"boolean [] status"并且具有"status [i] == false"意味着线程失败(这可以被扩展以捕获更多信息).但是,这不是我想要的:我希望它在抛出断言错误时就像任何其他单元测试一样失败.这甚至可能吗?这是可取的吗?

我感到无聊,我决定在我的单元测试中产生一堆线程,然后让它们调用一个服务方法,只是为了它.代码看起来大致如下:

Thread[] threads = new Thread[MAX_THREADS];
for( int i = 0; i < threads.length; i++ ) {
    threads[i] = new Thread( new Runnable() {
        private final int ID = threadIdSequenceNumber++;
        public void run() {
            try {
                resultRefs[ID] = runTest( Integer.toString( ID ) ); // returns an object
            }
            catch( Throwable t ) { 
                // this code is EVIL - it catches even
                // Errors - don't copy it - more on this below …
Run Code Online (Sandbox Code Playgroud)

java junit multithreading unit-testing

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

如何让hg在cygwin/windows上提示我的HTTP auth用户名/密码?

在家里,这很完美.我现在在另一台计算机上(使用cygwin)并且hg push不会提示输入用户名/密码:

user@localhost /cygdrive/d/repos/upthescala/viewprotect
$ hg push https://viewprotect.googlecode.com/hg/
pushing to https://viewprotect.googlecode.com/hg/
searching for changes
abort: http authorization required
Run Code Online (Sandbox Code Playgroud)

这是我的〜/ .hgrc的内容:

[http_proxy]
host=someproxy:8080

[ui]
username = My Name <myemail>
Run Code Online (Sandbox Code Playgroud)

提前感谢任何建议!

注意:这似乎是一个cygwin问题.当我从Windows提示符(cmd.exe)尝试时,它按预期工作:

D:\repos\upthescala\viewprotect>hg push https://viewprotect.googlecode.com/hg/
pushing to https://viewprotect.googlecode.com/hg/
searching for changes
http authorization required
realm: Google Code Mercurial Repository
user: myemailaddress
password: *********

remote: Success.
Run Code Online (Sandbox Code Playgroud)

- LES

authentication mercurial push

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

如何在使用maven jetty插件时过滤资源?

我有一个需要解析属性占位符的XML文件(urlrewrite.xml).我启用了Maven过滤来实现这一目标.这适用于组装的WAR文件.

<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
        </resource>
Run Code Online (Sandbox Code Playgroud)

问题是尝试使用maven-jetty-plugin(Maven Jetty插件)在开发模式下运行应用程序,如maven jetty:run.

有问题的文件urlrewrite.xml位于src/main/resources目录中,因此应该(并且确实)最终在/ WEB-INF/classes(或maven jetty:run的目标/类)中.

URLRewriteFilter配置指定配置文件的位置,如下所示:

<filter>
    <filter-name>UrlRewriteFilter</filter-name>
    <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
    <init-param>
        <param-name>confPath</param-name>
        <param-value>/WEB-INF/classes/urlrewrite.xml</param-value>
    </init-param>
</filter>
Run Code Online (Sandbox Code Playgroud)

这将在部署时工作.但是,使用jetty maven插件,URLRewrite将因NullPointerException而死亡,因为它使用了context.getResourceAsString("/ WEB-INF/classes/urlrewrite.xml")来加载配置文件.Jetty为此返回null,因为从工作区运行应用程序时,它将/ WEB-INF/classes/...解析为src/main/webapp/WEB-INF/.... 该文件不存在,因为WAR尚未组装.它应该从target/classes/urlrewrite.xml中提取资源.

如果这对你来说是模糊的,那么你可能无法回答这个问题,因为我怀疑你需要成为Jetty大师来找出一个解决方法(提示:这是一个挑战!).

有没有人知道这方面的方法?我也尝试过以下变通方法:

  1. 将urlrewrite.xml放在新目录src/main/webResources下,并将其添加到maven war plugin <webReources>并启用过滤.这将在打包WAR时将其内容复制到适当的位置,但不会使其可用于jetty:run
  2. 其他一些我甚至不记得的黑客......(如果我这样做会更新)

总之,maven-jetty-plugin需要将文件置于src/main/resources/webapp/insert路径和文件名下,以便可用于maven jetty:run命令...

谢谢你的帮助......

真诚的,劳埃德力

filtering jetty maven maven-jetty-plugin

8
推荐指数
1
解决办法
5931
查看次数

我在哪里放置.tld文件,以便正确打包使用maven2构建的生成的JAR文件?

我目前的代码目录结构如下:

src
|-- main
|   `-- java
|       `-- com
|           `-- upthescala
|               `-- tags
|                   `-- ViewProtectTag.java
|-- test
|-- pom.xml
|-- .project
|-- .classpath
`-- .hgignore
Run Code Online (Sandbox Code Playgroud)

我想为我的JSP标记包含一个tld文件,我不知道在哪里打包它.我最初的想法是添加一个src/main/resources目录并放入META-INF/viewprotect.tld其中.

java jsp maven-2 jsp-tags web-applications

7
推荐指数
1
解决办法
1684
查看次数

如何在RBDMS或NOSQL数据存储区或其他消息传递系统(例如,rabbitmq)之上实现分布式队列类似的东西?

从不太酷的问题类别......

"队列式的东西"我的意思是支持以下操作:

  • append(entry:Entry) - 在队列尾部添加条目
  • take():Entry - 从队列头部删除条目并返回它
  • promote(entry_id) - 将条目移动到靠近头部的位置; 当前占据该位置的条目将移动到旧位置
  • 降级(entry_id) - 与促销相反(entry_id)

可选操作类似于:

  • 提升(entry_id,amount) - 比如提升(entry_id),除非你指定了仓位数量
  • 降级(entry_id,金额) - 与促销相反(entry_id,金额)
  • 当然,如果我们允许数量为正数或负数,我们可以通过单一移动(entry_id,amount)方法合并推广/降级方法

如果可以以分布式方式对队列执行以下操作(多个客户端与队列交互),那将是理想的:

queue = ...

queue.append( a )
queue.append( b )
queue.append( c )

print queue
"a b c"

queue.promote( b.id )
print queue
"b a c"

queue.demote( a.id )
"b c a"

x = queue.take()
print x
"b"
print queue
"c a"
Run Code Online (Sandbox Code Playgroud)

是否有任何特别适合此用例的数据存储?即使多个用户同时修改队列,队列也应始终处于一致状态.

如果不是为了促进/降级/移动要求,那就不会有太大的问题.

编辑:如果有Java和/或Python库来完成上述任务的加分点.

解决方案应该非常好地扩展

python java message-queue rabbitmq nosql

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

使用双重检查成语重置延迟加载的字段

考虑"对实例字段的延迟初始化进行双重检查":

// Item 71 in Effective Java copied from this interview with Bloch.
private volatile FieldType field;
FieldType getField() {
    FieldType result = field;
    if (result == null) { // First check (no locking)
        synchronized(this) {
            result = field;
            if (result == null) // Second check (with locking)
                field = result = computeFieldValue();
        }
    }
     return result;
}

我希望能够以安全的方式重置字段(强制它再次从数据库加载,在我的情况下).我假设我们可以通过重置方法来做到这一点:

void reset() {
   field = null;
}

这是重置场地的标准方法吗?安全吗?任何陷阱?我问,因为布洛赫发出了关于双重检查懒惰加载的以下警告:"成语非常快,但也很复杂和细腻,所以不要试图以任何方式修改它.只需复制和粘贴 - 通常这不是一个好主意,但在这里是合适的."

在此先感谢喜马拉雅山脉的Playa.

java locking thread-safety double-checked-locking

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