小编Dan*_*ush的帖子

抽象方法错误

我正在研究netbeans中的一个项目,当我使用glassfish 3.1.2启动它时.一切正常.但是当我调用/ invite url时,它被映射到以下方法

@RequestMapping(value = "/invite", method = RequestMethod.POST)
    @ExceptionHandler(GenericException.class)
    public ModelAndView create(@ModelAttribute(value = "preRegister") @Valid PreRegister preRegister, BindingResult result, HttpServletRequest request) {
        mav = new ModelAndView();
        validator.validate(preRegister, result);
        List<Role> roleList = null;
        if (result.hasErrors()) {
            mav.setViewName("user_populate_create");
            try {
                roleList = roleDao.list();
            } catch (Exception ex) {
                logger.error("UserController: Unable to list Roles: ", ex);
                throw new GenericException("UserController: Unable to list Roles: " + ex.getMessage());
            }
            if (roleList == null || roleList.isEmpty()) {
                throw new GenericException("UserController: Unable to list Roles"); …
Run Code Online (Sandbox Code Playgroud)

java spring interface spring-mvc abstract

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

CronSequenceGenerator的解决方法最后一个月?

好的,所以我想安排一个任务在每个月的最后一天上午10:10运行.我的cron表达是

0 10 10 L * ?
Run Code Online (Sandbox Code Playgroud)

现在问题是CronSequenceGenerator为'L'值抛出NumberFormatException.这意味着Spring的CronSequenceGenerator不支持这种表达式.如何以任何其他方式执行此操作(解决方法).我不想使用quartz或者是spring的在新版本中支持这一点.

这是完整的堆栈跟踪:

Exception in thread "main" java.lang.NumberFormatException: For input string: "L"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Integer.parseInt(Integer.java:492)
    at java.lang.Integer.valueOf(Integer.java:582)
    at org.springframework.scheduling.support.CronSequenceGenerator.getRange(CronSequenceGenerator.java:324)
    at org.springframework.scheduling.support.CronSequenceGenerator.setNumberHits(CronSequenceGenerator.java:297)
    at org.springframework.scheduling.support.CronSequenceGenerator.setDays(CronSequenceGenerator.java:275)
    at org.springframework.scheduling.support.CronSequenceGenerator.setDaysOfMonth(CronSequenceGenerator.java:266)
    at org.springframework.scheduling.support.CronSequenceGenerator.parse(CronSequenceGenerator.java:239)
    at org.springframework.scheduling.support.CronSequenceGenerator.<init>(CronSequenceGenerator.java:81)
    at org.springframework.scheduling.support.CronTrigger.<init>(CronTrigger.java:54)
    at org.springframework.scheduling.support.CronTrigger.<init>(CronTrigger.java:44)
    at com.hcdc.coedp.datantar.scheduler.SchedulerUtil.start(SchedulerUtil.java:75)
    at com.hcdc.coedp.datantar.scheduler.SchedulerUtil.changeTrigger(SchedulerUtil.java:106)
    at com.hcdc.coedp.datantar.scheduler.SchedulingService.scheduleTransfer(SchedulingService.java:70)
    at com.hcdc.coedp.datantar.scheduler.Scheduler.schedule(Scheduler.java:107)
    at main.Main.main(Main.java:47)
Run Code Online (Sandbox Code Playgroud)

更新:

以下是我的调度方法

 /**
    * Schedule a task {@link Task} with a specified cron expression.
    * @param task {@link Task}
    * @param cronExpression cron expression to be applied must …
Run Code Online (Sandbox Code Playgroud)

java spring spring-mvc scheduled-tasks cronexpression

8
推荐指数
2
解决办法
4568
查看次数

如何观察变量的变量

我想知道是否有任何方法可以在程序运行时观察变量值的变化.当然不使用调试器我想以编程方式进行.例如:

class A
{
   public static int valueToBeWatched;
}
Run Code Online (Sandbox Code Playgroud)

因此,在运行时,如果在我的项目中的任何类的任何方法中修改此值,MyValueChangeListner则应调用该事件.

java reflection variables

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

长轮询冻结浏览器并阻止其他ajax请求

我试图在我的Spring-MVC Web App中实现长轮询,但是在4-5继续AJAX请求之后它冻结了我的浏览器和其他请求.我不知道这里是什么是我的相关代码.

控制器方法:(服务器端): -

@Asynchronous
    @RequestMapping("/notify")
    public @ResponseBody
    Events notifyEvent(HttpServletRequest request) {
        Events events = null;
        try {
            events = (Events) request.getSession(false).getServletContext().getAttribute("events");
            System.out.println("Request Came from" + ((com.hcdc.coedp.safe.domain.User) request.getSession(false).getAttribute(Constants.KEY_LOGGED_IN_USER)).getLoginId());
            if (!events.getTypeOfEvents().isEmpty()) {
                System.out.println("Removing older entries");
                events.getTypeOfEvents().clear();
            }
            while (!events.isHappend()) {
                //Waiting for event to happen.
            }
            events = Events.getInstance();
            events.setHappend(false);
            request.getSession(false).getServletContext().setAttribute("events", events);

        }catch (Exception e) {
            e.printStackTrace();
        }
        return events;
    }
Run Code Online (Sandbox Code Playgroud)

长轮询脚本(客户端): -

$(document).ready(function() {
                    $.ajaxSetup({
                        async:true//set a global ajax requests as asynchronus
                    });
                     alert('Handler for .onload() called.'); …
Run Code Online (Sandbox Code Playgroud)

java ajax jquery spring-mvc long-polling

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

抽象类与所有方法抽象和接口之间的区别?

我接受采访时,面试官首先问我抽象类与抽象方法和界面之间的区别.

我回答说,如果将来要求继承某些内容,如果你已经扩展了课程,那么你将无法继续.

然后,他说这是一种情况,人们永远不必延长任何其他阶级,你必须实施合同.在这种情况下,哪个更好,一个抽象类或接口?

我告诉他你可以使用其中任何一个,但他不满意.我无法理解为什么 - 我相信这是开发人员/设计选择.

java oop abstract-class interface

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

如何将第三方类对象用作Hashmap键?

好的,我理解equals和hashcode的工作原理以及它们在hashmap中的使用方式.但是这个问题在我脑海中浮现,如果我有一个没有覆盖哈希码和等号的第三方对象,我甚至不允许修改它.

考虑以下课程:

//Unmodifiable class
public final class WannaBeKey{

    private String id;

    private String keyName;

    //Can be many more fields

    public String getId()
    {
          return id;
    }

    public String getKeyName()
    {
          return id;
    }
    //no hashcode or equals :(

  }
Run Code Online (Sandbox Code Playgroud)

现在我想把这个类作为我的Hashmap键,显然它不会没有equals和hashcode.我想知道有没有办法处理这种情况?我无法想到任何我想到的事情.

谢谢.

java oop hashmap

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

磁盘空间有多低会导致java.IO.EOFException类

今天我在java序列化和反序列化中遇到了奇怪的行为("奇怪",因为我不明白)

我正在从linux共享目录序列化和反序列化一个对象.序列化一切都没有任何问题,但当我试图反序列化它抛出的同一个文件 java. io. EOFException.此外,反序列化仅对此新创建的文件失败,并且正在为该目录中的所有其他旧文件工作.

所以我在互联网上搜索,发现一个线程说低磁盘空间也可能导致此错误.

所以我清理了一些临时文件,瞧它工作了.我不明白磁盘空间不足只会影响反序列化而不是序列化?

我正在使用apache commons SerializationUtils类.下面是序列化和反序列化的代码

SerializationUtils. serialize(myObject, new FileOutputStream(new File(sharePath+FILEName) ;


MyObject object=SerializationUtils. deserialize( new FileInputStream(new File(sharePath+FILEName);
Run Code Online (Sandbox Code Playgroud)

如果有人可以解释这种行为,那将非常有帮助.我怀疑它在SerializationUtils中的一个错误可能会吞噬IOException.

谢谢

java file-io serialization eofexception

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

如何在日期之间搜索(Hibernate Search)?

我想知道如何使用Range-Query在Hibernate Search中按日期搜索,或者我是否需要实现任何过滤器.以下是我在Record Entity中的字段

    /**
     * When the analysis started.
     */
    @Temporal(TemporalType.TIMESTAMP)
    @Field(index = Index.UN_TOKENIZED)
    @DateBridge(resolution = Resolution.MILLISECOND)
    private Date startTS;
Run Code Online (Sandbox Code Playgroud)

我的要求是找到两个日期之间分析的记录,例如.11/11/2011至11/11/2012.I我很困惑如何做到这一点.

java lucene hibernate hibernate-search

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

映射不明确的@ExceptionHandler方法

我面临一个奇怪的问题以下是我UserController班上的两种方法

 @RequestMapping(value = "/list", method = RequestMethod.GET)
    @ExceptionHandler(GenericException.class)
    public ModelAndView list(@ModelAttribute(Constants.KEY_USER_RIGHTS) Map<String, Rights> rights,@ModelAttribute(Constants.KEY_LOGGED_IN_USER) User user, HttpServletRequest request) {//details omitted}
 @RequestMapping(value = "/invite", method = RequestMethod.POST)
    @ExceptionHandler(GenericException.class)
    public ModelAndView create(@ModelAttribute(value = "preRegister") PreRegister preRegister,Model model,HttpServletRequest request){//details omitted}
Run Code Online (Sandbox Code Playgroud)

当请求到达此控制器时它抛出异常stacktrace如下:

java.lang.IllegalStateException: Ambiguous @ExceptionHandler method mapped for [class com.hcdc.coedp.safe.exception.GenericException]: {public org.springframework.web.servlet.ModelAndView com.hcdc.coedp.safe.controller.UserController.list(java.util.Map,com.hcdc.coedp.safe.domain.User,javax.servlet.http.HttpServletRequest), public org.springframework.web.servlet.ModelAndView com.hcdc.coedp.safe.controller.UserController.create(com.hcdc.coedp.safe.domain.PreRegister,org.springframework.ui.Model,javax.servlet.http.HttpServletRequest)}.
    at org.springframework.web.method.annotation.ExceptionHandlerMethodResolver.addExceptionMapping(ExceptionHandlerMethodResolver.java:93)
    at org.springframework.web.method.annotation.ExceptionHandlerMethodResolver.<init>(ExceptionHandlerMethodResolver.java:61)
    at org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver.getExceptionHandlerMethod(ExceptionHandlerExceptionResolver.java:356)
    at org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver.doResolveHandlerMethodException(ExceptionHandlerExceptionResolver.java:306)
    at org.springframework.web.servlet.handler.AbstractHandlerMethodExceptionResolver.doResolveException(AbstractHandlerMethodExceptionResolver.java:60)
    at org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.resolveException(AbstractHandlerExceptionResolver.java:136)
    at org.springframework.web.servlet.DispatcherServlet.processHandlerException(DispatcherServlet.java:1148)
    at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:985)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:939)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:915)
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:811)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:668) …
Run Code Online (Sandbox Code Playgroud)

java exception-handling spring-mvc

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

Spring批处理并行执行多个步骤?

我已经为一个步骤实现了弹簧批处理分区,其中主步骤将其工作委托给多个并行执行的从属线程.如下图所示.(参考Spring文档) 在此输入图像描述 现在如果我有多个并行执行的步骤怎么办?如何在批量配置中配置它们?我目前的配置是

 <batch:job id="myJob" restartable="true" job-repository="jobRepository" >
        <batch:listeners>
            <batch:listener ref="myJoblistener"></batch:listener>
        </batch:listeners>

        <batch:step id="my-master-step">
            <batch:partition step="my-step" partitioner="my-step-partitioner" handler="my-partitioner-handler">
            </batch:partition>
        </batch:step>
    </batch:job>

    <batch:step id="my-step" >
        <batch:tasklet ref="myTasklet" transaction-manager="transactionManager" >
        </batch:tasklet>
        <batch:listeners>
            <batch:listener ref="myStepListener"></batch:listener>
        </batch:listeners> 
    </batch:step>
Run Code Online (Sandbox Code Playgroud)

我的架构图应该如下图所示: 在此输入图像描述

即使有可能使用弹簧批,我也不确定.任何想法或者我都想实现它.谢谢.

java parallel-processing spring spring-mvc spring-batch

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

如何在相关实体中搜索(Hibernate搜索)

我没有尝试这件事.我的要求是按照他们的名字搜索记录

以下是我的相关课程:

RecordFolderAnalysis.java

@Indexed
public class RecordFolderAnalysis extends AuditableEntity implements Serializable {

    @ManyToOne
    @JoinColumn(name = "arrivalId", nullable = false)
    @ContainedIn
    private RecordFolderArrival recordFolderArrival;

}
Run Code Online (Sandbox Code Playgroud)

RecordFolderArrival.java

@Indexed
public class RecordFolderArrival extends BaseEntity implements Serializable
  {

    @Column(name="recordName", unique = true, nullable = false)
    @Field(index = Index.UN_TOKENIZED)
    private String recordName;

    @OneToMany(cascade = CascadeType.ALL, mappedBy = "recordFolderArrival", fetch = FetchType.LAZY, targetEntity = RecordFolderAnalysis.class)
    @IndexedEmbedded
    private List<RecordFolderAnalysis> recordFolderAnalysis=new ArrayList<>();

  }
Run Code Online (Sandbox Code Playgroud)

Follwing是我的DAO类方法:

@Override
    public List<T> search(final String queryString, final String... fields) {
        List searchResult = hibernateTemplate.executeFind(new …
Run Code Online (Sandbox Code Playgroud)

java lucene search hibernate hibernate-search

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

Spring Batch:如何监视当前正在运行的作业并在jsp页面上显示进度

我想知道如何监视当前正在运行的批处理作业的状态.我的作业基本上是处理文件夹的一些默认步骤,所以我想逐步向用户显示进度.我正在使用TaskletsDB Job Repository.解释一些实现这一目标的示例代码将更有帮助.
谢谢.

java spring-mvc batch-processing spring-batch

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

为什么abstract不适用于接口隐式方法?

在阅读JLS规范接口时,我遇到以下短语:

如果接口没有直接的超接口,则接口隐式声明一个公共抽象成员方法m,其中包含签名s,返回类型r和throws子句t,对应于具有签名s的每个公共实例方法m,返回类型r和throws子句t在Object中声明,除非接口显式声明具有相同签名,相同返回类型和兼容throws子句的方法.

所以我的问题是当我们实现一个接口时为什么我们不被强制覆盖在Object类中声明的隐式方法,即使它们在接口中被隐式定义为抽象.希望我能正确对待自己.

谢谢.

java interface abstract jls

0
推荐指数
1
解决办法
80
查看次数