小编Jac*_*ine的帖子

为什么Android的进度对话框中没有取消按钮?

当我意识到在Android的进度对话框或微调器中没有取消按钮时,我正面临一个类似于这个人(从2008年1月开始)的经历.现在是2009年7月,我刚安装了Android的蛋糕版.这件事改变了吗?如果没有,你是否在对话框中添加了取消按钮,你是如何做到的?

java user-interface android

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

为什么JPA需要域对象的无参数构造函数?

为什么JPA需要域对象的无参数构造函数?我正在使用eclipselink并在部署期间遇到此异常.

Exception [EclipseLink-63] (Eclipse Persistence Services-1.1.0.r3639-SNAPSHOT): 
org.eclipse.persistence.exceptions.DescriptorException

Exception Description: The instance creation method   
[com.me.model.UserVO.<Default Constructor>], with no parameters, 
  does not exist, or is not accessible.
Internal Exception: java.lang.NoSuchMethodException: 
  com.me.model.UserVO.<init>()
Descriptor: RelationalDescriptor(com.me.model.UserVO --> 
  [DatabaseTable(user)])
Run Code Online (Sandbox Code Playgroud)

java persistence jpa

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

了解Goetz关于HttpSession线程安全的文章

参考Brian Goetz的文章是否所有状态Web应用程序都被破坏了?对于IBM developerWorks,我想参考这段代码

HttpSession session = request.getSession(true);
ShoppingCart cart = (ShoppingCart)session.getAttribute("shoppingCart");
if (cart == null) {
    cart = new ShoppingCart(...);
    session.setAttribute("shoppingCart", cart);
}        
doSomethingWith(cart);
Run Code Online (Sandbox Code Playgroud)

根据我的理解,这段代码不是线程安全的,因为它使用了check-then-act模式.但我有一个疑问:

是不是HttpSession在第一行完全原子的创建或检索?原子,我的意思是如果两个线程调用request.getSession(),一个将阻止.虽然两者都会返回相同的HttpSession实例.因此,如果客户端(移动/ Web浏览器)制作两个或调用相同的Servlet(执行上面的代码片段),您将永远不会遇到不同线程看到不同值的情况cart.

假设我确信它不是线程安全的,那么如何使这个线程安全?会AtomicReference有效吗?例如:

HttpSession session = request.getSession(true);
AtomicReference<ShoppingCart> cartRef = 
     (<AtomicReference<ShoppingCart>)session.getAttribute("shoppingCart");
ShoppingCart cart = cartRef.get();
if (cart == null) {
    cart = new ShoppingCart(...);
    session.setAttribute("shoppingCart",
         new AtomicReference<ShoppingCart>(cart));
}
doSomethingWith(cart);
Run Code Online (Sandbox Code Playgroud)

留言Merci!

java concurrency multithreading servlets

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

关闭ExecutorService

在Tomcat中,我编写了一个ServletContextListener,它将在启动期间启动ExecutorService并在卸载时终止它.

我在关注ExecutorService的javadoc中的示例

public void contextDestroyed( ServletContextEvent sce )
{
    executor.shutdown();
    try
    {
        executor.awaitTermination( 50, TimeUnit.SECONDS );
    }
    catch( InterruptedException ie )
    {
        Thread.currentThread().interrupt();
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是我应该在contextDestroyed()方法中传播InterruptedException吗?

java multithreading servlets exception-handling exception

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

使每个具体类继承接口是错误的吗?

这是对Zed Shaw很久以前在博客中发表的一些评论的回应.

然后专家们会漫无目的地执行他们的Flaming Tower of Babel,没有任何评论,非常复杂的模拟测试,确保每个单一类都有一个接口,并以"Impl"结束每个班级,因为,这是最好的做法.

我以相同的方式使用Spring和Google Guice,我注意到这些框架确实使用了Impl后缀,但是很少.在我的代码中,我到处都使用接口,因为我被告知它使模拟更容易等.我对这个问题有天真的理解吗?(也许模拟框架可以使用抽象类或类,我不知道.我从未尝试过)对于我的具体实现,我选择了Spring的约定,在实现的名称前加上单词Default.

e.g. BottleOpener (interface) is implemented by DefaultBottleOpener (class)
Run Code Online (Sandbox Code Playgroud)

这个问题的最佳做法是什么?

UPDATE1我发现从方法返回一个接口很有用,因为我总是可以返回一个匿名类.

java oop spring naming-conventions guice

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

如何在REST API中限制客户端

我想限制客户端到我的REST API调用次数的上限.我应该告诉客户他们被扼杀了什么?

Amazon S3返回HTTP 503,错误代码为SlowDown,以通知客户端.

你有什么建议?

api rest concurrency performance

9
推荐指数
1
解决办法
2022
查看次数

用于引导我的第一个生产scala项目的框架是什么?

我正在为生产应用程序首次涉足scala.该应用程序目前打包为war文件.我的计划是创建一个scala编译工件的jar文件,并将其添加到war文件的lib文件夹中.我的增强功能是通过Jersey公开的mysql支持的应用程序,并将通过HttpClient调用与第三方网站集成.我知道如何通过普通的java来做到这一点.但是当我在scala中做这件事时,有几个决定点,我正在讨论.

  1. scala 2.7.7或2.8 RC?
  2. JDBC通过querulous这个API准备生产了吗?
  3. sbt vs maven.我对maven很满意.
  4. 是否有一个用于HttpClient的scala惯用包装器(或者我应该像在java中一样使用它)?

我很想听听你对scala开始的评论和经验.

java mysql maven-2 scala sbt

9
推荐指数
1
解决办法
775
查看次数

无论传入什么标签,如何执行预任务?

---    
- name: superduper playbook
  hosts: aws-region1
  remote_user: mesrine
  pre_tasks:
  - include_vars: "{{ env }}/group_vars/vancouver"
    when: region is defined and region == 'van'
  ...snipped...
Run Code Online (Sandbox Code Playgroud)

我希望include_vars无论传入什么标签都执行任务。现在,传入的任何标签都过滤掉了我的include_vars预任务。

ansible

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

在Android应用程序中设置最小堆大小的目的是什么?

在Android操作系统的Google日历应用中,您将在CalendarActivity的onCreate方法中遇到此行.

// Eliminate extra GCs during startup by setting the initial heap size to 4MB.
VMRuntime.getRuntime().setMinimumHeapSize(INITIAL_HEAP_SIZE)
Run Code Online (Sandbox Code Playgroud)

有人可以解释为什么设置为4MB会消除GC吗?

java mobile android

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

maven webapp将jsps放在/ WEB-INF/jsp中

我继承了使用NetBean的内部ant构建的webapp.

所有jsps都位于:

WEB-INF/jsp
Run Code Online (Sandbox Code Playgroud)

web.xml包含指向/WEB-INF/jsp/somefile.jsp的硬编码链接

如何使用maven war插件将JSP放在那里,保持与当前结构的一致性?

我的pom目前写道:

<warSourceDirectory>${basedir}/web/WEB-INF</warSourceDirectory>
Run Code Online (Sandbox Code Playgroud)

java maven-2 web-applications

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