小编fai*_*izi的帖子

MongoException:带名称的索引:代码已存在,具有不同的选项

我有一个具有以下结构的mongodb集合term

{
    "_id" : "00002c34-a4ca-42ee-b242-e9bab8e3a01f",
    "terminologyClass" : "USER",
    "code" : "X67",
    "terminology" : "some term related notes",
    "notes" : "some notes"
}
Run Code Online (Sandbox Code Playgroud)

和一个表示术语集合的java类 Term.java

@Document
public class Term{  

    @Id
    protected String termId;

    @Indexed
    protected String terminologyClass;

    @Indexed(unique=true)
    protected String code;

    @Indexed
    protected String terminology;

    protected String notes;

    //getters & setters
}
Run Code Online (Sandbox Code Playgroud)

term收藏了很多文件.现在我添加了一个新字段Term.javaas

@Indexed
protected String status;
Run Code Online (Sandbox Code Playgroud)

添加字段statusTerm.java,在向term集合中插入新术语时,我得到了一个例外:

com.mongodb.MongoException:带名称的索引:代码已经存在,具有不同的选项

我使用的是MongoDB版本:2.6.5和spring-data-mongodb版本:1.3.2

mongodb mongodb-java spring-data-mongodb mongodb-indexes

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

Spring JMS:为@JmsListener注释方法设置ErrorHandler

我正在使用带@JmsListener注释的方法监听JMS消息,如下所示.

@JmsListener(destination="exampleQueue")  
public void fetch(@Payload String message){  
    process(message);  
}
Run Code Online (Sandbox Code Playgroud)

当这个方法执行导致异常时,我得到了一个警告日志

Execution of JMS message listener failed, and no ErrorHandler has been set.
Run Code Online (Sandbox Code Playgroud)

如何设置ErrorHandler处理案例.我正在使用spring boot 1.3.3.RELEASE

java spring jms spring-jms spring-boot

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

Mongodb $pull 嵌套文档

我有一个records这样的收藏

{
    "recordId" : "5a65d212-774e-4208-8cb4-bf4e92e80898",
    "recordName" : "recordABC",
    "entries" : [
        {
            "formId" : "f548684e-31a7-4e63-af5c-4120670f963f",
            "formSequence" : 1,
            "fieldId" : "element1",
        },
        {
            "formId" : "f548684e-31a7-4e63-af5c-4120670f963f",
            "formSequence" : 2,
            "fieldId" : "element2",
            "value" : "notes"
        },
        {
            "formId" : "f548684e-31a7-4e63-af5c-4120670f963f",
            "formSequence" : 1,
            "fieldId" : "element3",
            "value" : [
                {
                    "originalFileName" : "fileA",
                    "thumbnail" : "thumbnailA"
                },
                {
                    "originalFileName" : "fileB",
                    "thumbnail" : "thumbnailB"
                },
                {
                    "originalFileName" : "fileC",
                    "thumbnail" : "thumbnailC"
                },
                {
                    "originalFileName" : "fileD",
                    "thumbnail" …
Run Code Online (Sandbox Code Playgroud)

mongodb mongodb-query

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

Thymeleaf渲染

使用jsp我们可以将html元素渲染为

<c:set var="size" value="0" />
<c:forEach items="${fields}" var="field" varStatus="status">

    <c:if="${status.first}">
        <div class="row">
    </c:if>

    <c:set var="size" value="${size + field.size}" />
    <c:if="${size > 12}">
        </div>
        <div class="row">
        <c:set var="size" value="${field.size}" />
    </c:if>

    <jsp:include page="/WEB-INF/jsp/field.jsp" >
        <jsp:param name="field" value="${field}"/>
    </jsp:include>  

    <c:if="${status.last}">
        </div>
    </c:if>

</c:forEach>
Run Code Online (Sandbox Code Playgroud)

这里我<div class="row"></div>根据字段的大小构建htmls输入元素(大小6变为span6).如果我的字段列表有4个元素,大小为6,3,8和4,它将把html渲染为

<div class="row">
  <div class="span6">
     <input />
  <div>
  <div class="span3">
     <input />
   <div>
</div>
<div class="row">
  <div class="span8">
     <input />
  <div>
  <div class="span4">
     <input />
   <div>
</div>
Run Code Online (Sandbox Code Playgroud)

我试图将前几节转换为百日咳作为

<th:block th:with="size=0">
    <th:block th:each="field, iterStat : ${fields}">
        <th:block …
Run Code Online (Sandbox Code Playgroud)

jsp thymeleaf

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

将 html img 元素转换为 canvas

我的html页面内容为

<div class="span12">
    <img id="myImg" src="myImage.png" style="max-width: 100%; height: auto;" />
</div>
Run Code Online (Sandbox Code Playgroud)

其中 的实际大小myImage.png1600 * 900。图像按尺寸渲染796 * 448(拉伸并保持纵横比)。

我正在尝试将img元素(大小为 796 * 448)转换为canvas使用javascriptas 的元素

function convertImgToCanvas(){
    var myImgElement = document.getElementById("myImg");
    var myCanvasElement = document.createElement("canvas");
    myCanvasElement.width = myImgElement.width;
    myCanvasElement.height = myImgElement.height;
    var context = myCanvasElement.getContext('2d');
    context.drawImage(myImgElement,0,0);    
}
Run Code Online (Sandbox Code Playgroud)

生成的画布有尺寸1600 * 900,而不是796 * 448。我期望画布的大小为796 * 448.

如果我将画布的高度和宽度设置为

myCanvasElement.width = '796px';
myCanvasElement.height = '448px';
Run Code Online (Sandbox Code Playgroud)

画布的大小变为 …

html javascript css jquery html5-canvas

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

Spring MVC:在另一个控制器中自动装配一个控制器

我有两个LoginViewController控制器UserViewController

@Controller
public class LoginViewController {

    @Autowired
    private UserViewController userViewController;  //Can't autowire, since spring creates a proxy for UserViewController class

    @RequestMapping(value="/login", method=POST)
    public String login(){

        //username and password checking etc

        if(login_successfull){
            //When login successfull, i need to redirect the screen to user dashboard  
            model.addAttribute("loginMessage", "You are loggined successfully")
            return userViewController.viewDashboard(userId);
        }   
    }
}

@Controller
@RequestMapping("/user")
public class UserViewController {

    @Autowired 
    private UserService userService;

    @RequestMapping(value="/dashboard", method=GET)
    public String viewDashboard(Model model, @RequestParam(value="id", required=true) Long userId){
        //Fetch and send user …
Run Code Online (Sandbox Code Playgroud)

java spring spring-mvc

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