小编wit*_*ich的帖子

无法在事务中登记连接:enlistResource返回'false'

突然间,我连续得到以下错误的选择查询.

Unable to enlist connection in transaction: enlistResource returns 'false'
Run Code Online (Sandbox Code Playgroud)

这似乎是从DBCP抛出的(https://commons.apache.org/proper/commons-dbcp/jacoco/org.apache.commons.dbcp2.managed/TransactionContext.java.html)

本质上,此代码调用javax.transaction.Transaction.enlistResource

查看API,它说"使用与目标Transaction对象关联的事务指定资源.如果资源已成功登记,则为true;否则为false."

我仍然不清楚为什么抛出这个异常.

  1. 什么是资源到交易?
  2. 当enlist资源返回false时?我的意思是什么时候交易无法登记资源?
  3. 如何避免这个问题?

技术堆栈:

  • TomEE 7.0.4
  • JPA
  • MariaDB的

数据源配置:

<Resource id="jdbc/myDS" type="javax.sql.DataSource">
    dataSourceCreator = tomcat
    jtaManaged        = true
    driverClassName   = ${jdbc.driver}
    url               = ${jdbc.url}
    username          = ${jdbc.username}
    password          = ${jdbc.password}
    initialSize       = 5
    maxActive         = 100
    maxIdle           = 10
    minIdle           = 5
    maxWait           = 30000
    validationQuery   = SELECT 1
    testOnBorrow      = false
    testOnReturn      = false
    testWhileIdle     = true
    timeBetweenEvictionRunsMillis = 1800000
    numTestsPerEvictionRun = 2 …
Run Code Online (Sandbox Code Playgroud)

jpa jta jdbc tomee

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

如何使用 PHP &gt;=7.0 的 spaceship 运算符按两个参数对数组进行排序

是否有更紧凑的方法来使用 PHP \xe2\x89\xa5 7.0按两个参数/字段对数组进行排序(使用spaceship 运算符 <=>

\n

现在我要排序的技巧是首先按第二个参数,然后按第一个参数:

\n
// Sort by second parameter title\nusort($products, function ($a, $b) {\n    return $a[\'title\'] <=> $b[\'title\']; // string\n});\n\n// Sort by first parameter brand_order\nusort($products, function ($a, $b) {\n    return $a[\'brand_order\'] <=> $b[\'brand_order\']; // numeric\n});\n
Run Code Online (Sandbox Code Playgroud)\n

这给了我我想要的结果;产品首先按品牌排序,然后按名称排序。

\n

我只是想知道是否有办法做到这一点usort

\n
\n

这是我的问题作为代码片段。这个例子可以在这里测试。

\n

\r\n
\r\n
<pre><?php\n        \n<!-- Example array -->\n$products = array();\n\n$products[] = array("title" => "Title A",  \n              "brand_name" => "Brand B",\n              "brand_order" => 1);\n$products[] = …
Run Code Online (Sandbox Code Playgroud)

php arrays sorting usort php-7

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

如何使用java检测给定的日期格式

我有一个方法获取一个字符串并将其更改为特定的日期格式但事情是日期将是任何格式例如

16 July 2012

March 20 2012

2012 March 20
Run Code Online (Sandbox Code Playgroud)

所以我需要检测字符串是以哪种文件格式.

我使用下面的代码来测试它,但如果文件格式发生变化我会得到异常.

private String getUpdatedDate(String updated) {
        Date date;
        String formatedDate = null;
        try {
            date = new SimpleDateFormat("d MMMM yyyy", Locale.ENGLISH)
                    .parse(updated);
            formatedDate = getDateFormat().format(date);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return formatedDate;
    }
Run Code Online (Sandbox Code Playgroud)

java localdate

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

JSF 2中的纯HTML 5标记支持

我想在我的JSF页面中使用纯HTML 5,因为JSF2提供的HTML支持无法实现某些UI功能.


在JSF 2.0中,HTML 5表单元素的某些属性无法在标准JSF输入组件中正确呈现.

例如,<input type="email"无法呈现<h:inputText type="email".

在下面给出的链接中,他们使用了一些纯HTML 5标签等 <canvas> <header> <footer> <small>.

现在我的问题是:

  1. 当我尝试在我的JSF页面中使用类型为"text"的纯html输入标记时,我无法从我的Managed Bean中检索该值并将其设置为此文本框.为什么价值不显示?

  2. xhtml页面中仅支持一些纯HTML 5标记,或者支持所有纯HTML 5标记

jsf html5

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

在 ajax 中使用 FullCalendar 的问题

我正在使用 FullCalendar 2.2.3 并且我想在用户修改其任何事件时更新数据库。这是日历的定义:

$('#calendar').fullCalendar({
    firstDay: 1,
    timezone: 'Europe/Madrid',
    allDayDefault: false,
    theme: false,
    aspectRatio: 2.2,
    timeFormat: 'H:mm',
    header: {
        left: '',
        center: 'title',
        right: 'today prev,next'
    },
    editable: false,
    eventMouseover: function(event, jsEvent, view) {
            if (view.name !== 'agendaDay') {
                    $(jsEvent.target).attr('title', event.title);
            }
    },
    events: {
        url: '/getEvents.php',
        type: 'POST',
        cache: false,
        error: function() {
            // error
        },
    },
    eventDrop: function(event, delta, revertFunc) {
        if (!confirm("Are you sure about this change?")) {
            revertFunc();
        }
    }       
});
Run Code Online (Sandbox Code Playgroud)

这工作正常,但是当我更改 eventDrop 以更新数据库时

eventDrop: function(event, …
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery fullcalendar momentjs

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

ODT 文件的 HTML 表单上传/*.odt 的 MIME 类型

我正在寻找仅用于 ODT 文件的 HTML 表单上传。我需要知道 的参数accept

<form method="post" action="upload.php" >
      <input type="file" name="file_upload" accept="" />
      <button type="submit">Upload</button>
</form>
Run Code Online (Sandbox Code Playgroud)

html forms input mime-types

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

在 RStudio 中执行多行的快捷方式

我正在使用并通常使用+RStudio逐行运行我的代码。一般来说,这工作正常,但工作时我想运行我使用管道运算符编写的整个代码部分,CrtlEnterdplyr%>%

例如,我想立即执行以下代码部分,最好独立于管道代码行中的当前光标位置:

mtcars %>%
  filter(carb >= 2) %>%
  group_by(cyl) %>%
  summarise(mean.hp = mean(hp))
Run Code Online (Sandbox Code Playgroud)

我可以逐行运行此命令或标记所有行,然后按Crtl+ Enter,但这两种方法都有点烦人。搜索互联网和“”中可用的 RStudio 选项,Tools/Modify Keyboard Shortcuts我只找到了其他选项,例如运行整个部分,从

# Example section--------------------
Run Code Online (Sandbox Code Playgroud)

r rstudio dplyr

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

如何从集合中获取belongsToMany() 查询?MySQL/Laravel

我正在使用 Laravel 5.4.22(最新的)。在 MySQL 中,我有两个表tag_categoriestags,它们形成多对多关系。我需要的是一个查询,它返回所选类别的所有标签。当我只有一个对象时,我知道如何解决这个问题,我知道如何通过查询和循环每个对象来解决这个问题,但是整个事情必须有一个基于查询或雄辩的解决方案?

我知道下面的代码不起作用,因为我在->belongsToMany集合而不是对象上使用,但是如何以最简单的方式弥合这一差距?

$resultingTags = TagCategory::whereIn('id', $chosenCategoriesIds)
                              ->belongsToMany(Tag::Class)->get();

dd($resultingTags);
Run Code Online (Sandbox Code Playgroud)

php mysql laravel

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

如何在 Java 11 中使用不支持的区域设置以及 String.format() 中的数字

当我通过 输出数字时,如何在JAVA 11中使用不受支持的区域设置(例如ar-US)?String.format()

\n

Java 8中,这工作得很好(尝试jdoodle选择 JDK 1.8.0_66):

\n
Locale locale = Locale.forLanguageTag("ar-US");\nSystem.out.println(String.format(locale, "Output: %d", 120));\n// Output: 120\n
Run Code Online (Sandbox Code Playgroud)\n

Java 11开始,输出采用东方阿拉伯数字(尝试jdoodle使用默认的 JDK 11.0.4):

\n
Locale locale = Locale.forLanguageTag("ar-US");\nSystem.out.println(String.format(locale, "Output: %d", 120));\n// Output: \xd9\xa1\xd9\xa2\xd9\xa0\n
Run Code Online (Sandbox Code Playgroud)\n

看来,这个问题来自于区域设置数据提供程序从JRECLDR的切换(来源:@mcarth 的 Java 9 中的本地化更改)。以下是支持的区域设置列表:JDK 11 支持的区域设置

\n

更新

\n

我将问题示例更新为ar-US,因为我之前的示例没有意义。我们的想法是建立一种在特定国家/地区有意义的格式。在示例中,它将是美国 ( US)。

\n

java locale number-formatting cldr java-11

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

Chrome 显示 Lottie 动画模糊

我遇到了缩放 Lottie 动画的问题,Chrome 模糊了动画。当动画缩放时,这一点尤其明显。

在我的示例中,原始动画的尺寸为 842x596px,渲染效果越小,效果越差:

截图模糊的lottie动画对比chrome和firefox

如果您想在 Chrome 浏览器中重现它,这里是示例代码:

lottie-player {
  border: 1px solid lightblue;
}

body {
  color: lightgray;
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://unpkg.com/@lottiefiles/lottie-player@latest/dist/lottie-player.js"></script>

<!--
<lottie-player src="https://assets6.lottiefiles.com/packages/lf20_srq2xawa.json" background="transparent" speed="1" style="width: 300px; height: 300px;" loop controls autoplay></lottie-player>
300x300px 
-->
                    
<lottie-player src="https://assets6.lottiefiles.com/packages/lf20_srq2xawa.json" background="transparent" speed="1" style="width: 200px; height: 200px;" loop autoplay></lottie-player>
200x200px

<lottie-player src="https://assets6.lottiefiles.com/packages/lf20_srq2xawa.json" background="transparent" speed="1" style="width: 150px; height: 150px;" loop autoplay></lottie-player>
150x150px
 
 <lottie-player src="https://assets6.lottiefiles.com/packages/lf20_srq2xawa.json" background="transparent" speed="1" style="width: 100px; height: 100px;" loop autoplay></lottie-player>
100x100px
 
 <lottie-player src="https://assets6.lottiefiles.com/packages/lf20_srq2xawa.json" background="transparent" speed="1" style="width: 50px; height: 50px;" loop autoplay></lottie-player> …
Run Code Online (Sandbox Code Playgroud)

animation google-chrome blurry lottie

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