小编ufa*_*oli的帖子

Centos 64bit和openjdk 7上的堆转储错误

我正在尝试使用open-jdk7 java在运行glassfish 3.1.2的计算机上生成堆转储.

我正在使用以下命令:

jmap -dump:live,format=b,file=dump.t -F 24935
Run Code Online (Sandbox Code Playgroud)

但我一直收到这个错误:

Attaching to process ID 24935, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 23.7-b01
Dumping heap to dump.t ...
Exception in thread "main" java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at sun.tools.jmap.JMap.runTool(JMap.java:197)
        at sun.tools.jmap.JMap.main(JMap.java:128)
Caused by: sun.jvm.hotspot.utilities.AssertionFailure: Expecting GenCollectedHeap, G1CollectedHeap, or ParallelScavengeHeap, but got sun.jvm.hotspot.gc_interface.CollectedHeap
        at sun.jvm.hotspot.utilities.Assert.that(Assert.java:32)
        at sun.jvm.hotspot.oops.ObjectHeap.collectLiveRegions(ObjectHeap.java:605)
        at sun.jvm.hotspot.oops.ObjectHeap.iterate(ObjectHeap.java:244)
        at sun.jvm.hotspot.utilities.AbstractHeapGraphWriter.write(AbstractHeapGraphWriter.java:51)
        at sun.jvm.hotspot.utilities.HeapHprofBinWriter.write(HeapHprofBinWriter.java:416)
        at sun.jvm.hotspot.tools.HeapDumper.run(HeapDumper.java:56)
        at sun.jvm.hotspot.tools.Tool.start(Tool.java:221)
        at sun.jvm.hotspot.tools.HeapDumper.main(HeapDumper.java:77)
        ... 6 more
Run Code Online (Sandbox Code Playgroud)

这是我的完整java版本: …

java openjdk heap-dump

16
推荐指数
2
解决办法
9626
查看次数

@ViewScoped托管bean中的@EJB导致java.io.NotSerializableException

我一直在用@ViewScoped托管bean敲打头脑.我正在使用primeface的"schedule"组件来显示一些事件.当用户单击特定按钮时,使用ajax调用viewscoped bean中的方法,但每次我得到"java.io.NotSerializableException"时,如果我更改managed-bean范围以请求问题消失.

我究竟做错了什么?有任何想法吗?

这是我的托管bean:

@ManagedBean(name = "schedule")
@ViewScoped
public class ScheduleMBean implements Serializable {

    @EJB
    private CongeBean congeBean;


    @ManagedProperty(value = "#{sessionBean}")
    private SessionMBean sessionBean;

    private DefaultScheduleModel visualiseurConges = null;

    public ScheduleMBean(){

    }
    @PostConstruct
    public void init() {

        if(visualiseurConges == null){

                visualiseurConges = new DefaultScheduleModel();
        }



    }

    public void updateSchedule(){

        visualiseurConges.addEvent(new DefaultScheduleEvent("test" , new Date(), new Date() ));



    }

    public void setVisualiseurConges(DefaultScheduleModel visualiseurConges) {
        this.visualiseurConges = visualiseurConges;
    }

    public DefaultScheduleModel getVisualiseurConges() {



        return visualiseurConges;
    }

    public void setSessionBean(SessionMBean sessionBean) {
        this.sessionBean …
Run Code Online (Sandbox Code Playgroud)

java jsf jsf-2

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

使用 Spring 数据和 QueryDSL 对 MongoDb 查询进行投影

我有一个 Spring MVC/Spring Data/Mongo DB 应用程序。我已经根据 spring 数据文档设置了我的环境,并且我的存储库工作正常(我可以使用谓词执行查询)

我想知道是否可以在进行投影时执行类型安全查询(使用 Spring Data 和 QueryDSL)(我只想要一个非常大的文档的几个字段)。

QueryDSL 文档给出了 Hibernate 的示例,但声明它可以在所有模块中完成QueryDSL 文档中完成(但我还没有找到如何使用 Mongo 来实现)

这是休眠的代码片段

class CustomerDTO {

  @QueryProjection
  public CustomerDTO(long id, String name){
     ...
 }

 QCustomer customer = QCustomer.customer;
 JPQLQuery query = new HibernateQuery(session);
 List<CustomerDTO> dtos = qry.from(customer).list(new QCustomerDTO(customer.id,    customer.name));     
Run Code Online (Sandbox Code Playgroud)

有任何想法吗 ?

spring projection mongodb spring-data

6
推荐指数
1
解决办法
4110
查看次数

播放Scala JSON正文解析器默认值字段

你好,我遇到了JSON身体解析器的问题.我的问题是以下我有一个带有一些可选参数的案例类(Option [T])和一个带有默认值的参数,我不希望将其输入为Option [T].

但是,当解析具有省略默认值的字段的JSON主体时,我收到错误

play.api.libs.JsError
/count error path missing
Run Code Online (Sandbox Code Playgroud)

这是我的控制器代码:

object MyController extends Controller{


  implicit val itemWrites = Json.writes[Item]
  implicit val itemReads = Json.reads[Item]
  implicit val itemFormats = Json.format[Item]

  def add = DBAction(parse.json){ implicit rs =>

    val item =  rs.request.body.validate[Item]
}
Run Code Online (Sandbox Code Playgroud)

这是我的案例类:

case class Item( id:Option[Int], name:String, description:Option[String], count:Int=0)
Run Code Online (Sandbox Code Playgroud)

有没有机会我可以使用默认值字段实现与Option [T]相同的行为?

谢谢

我正在使用 :

  • 斯卡拉2.10
  • Play Framework 2.2.1
  • Play-Slick插件0.5.0.8

json default scala playframework-2.0 slick

6
推荐指数
1
解决办法
3326
查看次数

使用spring data mongodb删除对象中的数组条目

我最近花了一些时间尝试$pull通过Spring的Data MongoOperations接口使用运算符,所以我认为如果有人碰到类似的问题,分享我的发现会很好.

所以这里......

我有2个java POJO,如下所示:

@Document
public class OutterObject{

    private String id;
    private String name;
    private List<InnerDocument> innerDocs;


    //SETTERS - GETTERS Ommited


public class InnerDocument{


    private String id;
    private String name;

         //SETTERS - GETTERS Ommited
Run Code Online (Sandbox Code Playgroud)

这存储在Mongo集合中,如下所示:

 "_id" : "doc2",
 "_class" : "OutterObject",
 "name" : "doc2",
 "innerDocs" : [{
      "_id" : "innerDoc21",
      "name" : "innerDoc21"
  }, {
      "_id" : "innerDoc22",
      "name" : "innerDoc22"
  }]
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用$ pull运算符来删除具有名称值="innerDoc22"的innerDoc集合中的所有对象.

我知道如何使用mongo驱动程序完成此操作,如下所示:

 List<String> ids = 
         Arrays.asList("innerDoc22");

 BasicDBObject find = new BasicDBObject();

 match.put("innerDocs.name", 
           BasicDBObjectBuilder.start("$in", ids).get()); …
Run Code Online (Sandbox Code Playgroud)

mongodb spring-data

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