小编Oli*_* J.的帖子

JAXB,XJC - >创建多个类文件

我是第一次使用JAXB和XJC.

我想从XML文件生成Java类,所以我使用这个在线帮助器从XML文件生成模式.

之后我只使用此命令行生成Java类:

xjc myschema.xsd
Run Code Online (Sandbox Code Playgroud)

它的工作原理,但我只收到一个Java文件和许多静态类.这可能会生成许多每个文件只包含一个classe的java文件吗?

谢谢

java xml jaxb xjc

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

JPA和默认锁定模式

使用JPA,我们可以使用手动OPTIMISTICPESSIMISTIC锁定来处理事务中的实体更改.

我想知道如果我们没有指定这两种模式中的一种,JPA如何处理锁定?没有使用锁定模式?

如果我们没有定义显式锁定模式,数据库完整性是否会丢失?

谢谢

java jpa transactions

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

JPA和乐观的锁定模式

我读了甲骨文的博客文章在这里关于JPA和锁定模式.

我并不完全理解OPTIMISTICOPTIMISTIC_FORCE_INCREMENT锁模式类型之间的区别.

OPTIMISTIC 模式:

在此输入图像描述

当用户使用此模式锁定实体时,@version在事务开始时对版本字段实体()进行检查,并在事务结束时对版本字段进行检查.如果版本不同,则事务回滚.

OPTIMISTIC_FORCE_INCREMENT 模式:

在此输入图像描述

当用户选择此模式时,他必须将EntityManager的状态刷新()到数据库中以手动增加版本字段.因此,所有其他乐观交易将失效(回滚).在事务结束时也会检查版本以提交或回滚事务.

看起来很清楚,但什么时候应该使用OPTIMISTIC对比OPTIMISTIC_FORCE_INCREMENT模式?我看到的唯一标准是OPTIMISTIC_FORCE_INCREMENT在我希望事务优先于其他事务时应用模式,因为选择此模式将回滚所有其他正在运行的事务(如果我理解的话,那么很好).

还有其他理由选择此模式而不是OPTIMISTIC模式吗?

谢谢

jpa locking transactions

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

Maven和JSF webapp结构,完全放置JSF资源

我真的不了解Maven和JSF webapp的目录结构.

当我生成项目时,我有这样的结构:

src
|_ main
   |_ java
   |_ resources
   |_ webapp
      |_ WEB-INF 
         |_ web.xml
      |_ index.xhtml
Run Code Online (Sandbox Code Playgroud)

我想要包含一些资源:

  • javascript文件
  • css文件
  • 图片
  • i18n文件

我可以包含i18n文件src/main/resources但不在任何地方我可以包含JS文件,CSS文件和图像里面src/main/webapp/resources但不是任何地方...

我没有在网上找到关于JSF和Maven目录结构的非常明确的规则.

请问有什么规定?

谢谢

jsf maven

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

JSF/Primefaces AJAX请求是否真的异步?

我是JSF的新手所以我不知道我面临的行为是否正常.

我有这个代码:

<p:selectBooleanCheckbox id="locationChoice1" value="#{login.locationChoice1}">
    <p:ajax listener="#{login.chooseLocationType1}" update="locationChoice1 locationChoice2 positionChoice" />
    <p:ajax listener="#{login.retrieveGalaxies}" update="test"  />
</p:selectBooleanCheckbox>
Run Code Online (Sandbox Code Playgroud)

我的login.retrieveGalaxies函数调用sleep(8000)函数来模拟延迟.我期待我的组件locationChoice1,locationChoice2positionChoice在1或2秒内更新,我的test组件将在8秒内更新,但所有都在8秒内更新.

这是正确的行为吗?

我尝试使用async参数,但它没有改变结果.

ajax jsf primefaces

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

将XML解组为数组

我想将XML文件解组成元素数组.

示例:

<root>
   <animal>
      <name>barack</name>
   </animal>
   <animal>
      <name>mitt</name>
   </animal>
</root>
Run Code Online (Sandbox Code Playgroud)

我想要一组动物元素.

当我尝试

JAXBContext jaxb = JAXBContext.newInstance(Root.class);
Unmarshaller jaxbUnmarshaller = jaxb.createUnmarshaller();
Root r = (Root)jaxbUnmarshaller.unmarshal(is);
system.out.println(r.getAnimal.getName());
Run Code Online (Sandbox Code Playgroud)

这个显示mitt,最后一个动物.

我想这样做:

Animal[] a = ....
// OR
ArrayList<Animal> = ...;
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

xml jaxb unmarshalling

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

无状态会话bean中的静态字段

如果我在无状态bean中有一个静态字段:

@Stateless
@Local(SomeClass.class)
public class AccountBean implements SomeClass{

   private static final int STATIC_FIELD = 0;

   public AccountBean () {}
}
Run Code Online (Sandbox Code Playgroud)

是否会STATIC_FIELD在所有AccountBean实例中共享该值,例如在基本类中?

编辑标记该字段,final如下所示.

java static ejb

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

Maven和Ant插件可以智能地复制资源

它很容易用于org.apache.maven.plugins:maven-antrun-plugin复制资源并重命名它们,但有没有办法通过通配符或其他机制智能地执行此操作以符合个人规则?

例如,如果我有这些文件:

  • ${project.artifactId}-${project.version}.swf
  • a.swf
  • b.swf
  • ...
  • z.swf

我想复制目录中的所有文件并仅重命名${project.artifactId}-${project.version}.swffoo.swf.我知道我可以用:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.7</version>
       <executions>
          <execution>
             <id>copy-swf-files</id>
             <phase>compile</phase>
                <goals>
                   <goal>run</goal>
                </goals>
                <configuration>
                   <target name="copy swf files to web project">
                       <copy file="${project.build.directory}/${project.artifactId}-${project.version}.swf" tofile="${swf.output.location}/foo.swf" />
                       <copy file="${project.build.directory}/a.swf" tofile="${swf.output.location}/a.swf" />
                       <copy file="${project.build.directory}/z.swf" tofile="${swf.output.location}/z.swf" />
                    </target>
                 </configuration>                       
              </execution>
           </executions>
     </plugin>
Run Code Online (Sandbox Code Playgroud)

它的工作,但有另一种方便的方法,因为如果我有1000个文件要复制,这将是非常无聊的...谢谢

ant maven

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

JSF和部分验证

我想知道是否有一个技巧来验证表单中的所有字段除外?

就像是 :

<p:remoteCommand process="@form^F100"  .... />
Run Code Online (Sandbox Code Playgroud)

显然,这不起作用......

如果我在表单中有100个字段,是否有任何方法或快捷方式来验证所有例外F100?

我注定要使用

<p:remoteCommand process="F1 F2 F3 F4 F5 F6 .... F99"  .... />
Run Code Online (Sandbox Code Playgroud)

jsf primefaces

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

EJB容器中的@ApplicationException(rollback = true)与RuntimeException和Exception之间的区别

account在JSF bean中调用EJB方法:

try{
   account.someFunction(...);
}catch(SimRuntimeException e){
   logger.log(Level.FATAL, "SimRuntimeException catched !");
}catch(SimNotRuntimeException e){
   logger.log(Level.FATAL, "SimNotRuntimeException catched !");
}catch(Exception e){
   logger.log(Level.FATAL, "Exception catched !");
}
Run Code Online (Sandbox Code Playgroud)

我的例外情况:

public class SimRuntimeException extends RuntimeException {

   public SimRuntimeException() {
      super();
   }

}



@ApplicationException(rollback=true)
public class SimNotRuntimeException extends Exception {

   public SimNotRuntimeException() {
      super();  
   }


}
Run Code Online (Sandbox Code Playgroud)
  • account.someFunction(...);抛出SimRuntimeException我陷入Exception块,因为我SimRuntimeException被包裹成EJBException可能是由EJB容器.
  • account.someFunction(...);抛出SimNotRuntimeException我属于预期成SimNotRuntimeException

那么,是什么具体的区别Exception@ApplicationException(rollback=true)RuntimeException好吗?

java ejb runtimeexception

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

标签 统计

java ×4

jsf ×3

ejb ×2

jaxb ×2

jpa ×2

maven ×2

primefaces ×2

transactions ×2

xml ×2

ajax ×1

ant ×1

locking ×1

runtimeexception ×1

static ×1

unmarshalling ×1

xjc ×1