小编Red*_*eda的帖子

Hibernate不从连接池释放连接

我正在使用Hibernate JPA创建一个应用程序,并使用c3p0与MySQL建立连接池.我有一个与MySQL数据库的连接数有问题,因为它打到了152个打开的连接,这是不需要的,因为我在我的c3p0配置文件中定义最大池大小为20,当然我关闭我得到的每个实体管理器从EntityManagerFactory提交每笔交易之后.

对于每次执行一个控制器,我注意到打开了超过7个连接,如果我刷新,则再次打开7个连接,而不关闭过去的空闲连接.在我调用的每个DAO函数中,执行em.close().我在这里承认问题出在我的代码中,但我不知道我在这里做错了什么.

这是Sondage.java实体:

@Entity
@NamedQuery(name="Sondage.findAll", query="SELECT s FROM Sondage s")
public class Sondage implements Serializable {

    private static final long serialVersionUID = 1L;

    public Sondage() {}

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;

    private String name;

    private byte needLocation;

    //bi-directional many-to-one association to ResultatSondage
    @OneToMany(mappedBy = "sondage", cascade = CascadeType.ALL)
    @OrderBy("sondage ASC")
    private List<ResultatSondage> resultatSondages;

    //bi-directional many-to-one association to SondageSection
    @OneToMany(mappedBy = "sondage", cascade = CascadeType.ALL)
    private List<SondageSection> sondageSections;
}
Run Code Online (Sandbox Code Playgroud)

这是我的DAO课程:

@SuppressWarnings("unchecked")
public static List<Sondage> GetAllSondage() { …
Run Code Online (Sandbox Code Playgroud)

java mysql hibernate jpa c3p0

22
推荐指数
3
解决办法
4万
查看次数

使用ldapsearch只返回一个值

使用OPENLDAP服务器我想用ldapsearch从中检索信息.我创建了一个名为iduriclass的自定义类,该类用于存储id和uri.在我的ldapsearch命令中,我希望它只返回指定id的uri.

示例:该目录现在包含两个条目id=test uri=server.com/testid=test2 uri=server.com/test2

尝试它我得到一个包含服务器中所有uris 的ldif文件

我想要一个ldapsearch命令,将test作为参数,并返回一个值: server.com/test

linux openldap

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

使用带有SQL Server的EF Core 2.1进行正确的并发处理

我目前正在使用ASP.NET Core Web API以及Entity Framework Core 2.1和SQL Server数据库开发API.API用于从两个帐户A和B转帐.鉴于B帐户的性质是接受付款的帐户,可能会在同一时刻执行大量并发请求.如您所知,如果管理不善,可能会导致某些用户看不到付款.

花了好几天试图实现并发性,我无法弄清楚最好的方法是什么.为了简单起见,我创建了一个试图重现这个并发问题的测试项目.

在测试项目中,我有两个路由:request1和request2每个路由执行向同一个用户的转移,第一个路由器的数量为10,第二个路由器为20.我Thread.sleep(10000)在第一个路由器上按如下方式放置:

    [HttpGet]
    [Route("request1")]
    public async Task<string> request1()
    {
        using (var transaction = _context.Database.BeginTransaction(System.Data.IsolationLevel.Serializable))
        {
            try
            {
                Wallet w = _context.Wallets.Where(ww => ww.UserId == 1).FirstOrDefault();
                Thread.Sleep(10000);
                w.Amount = w.Amount + 10;
                w.Inserts++;
                _context.Wallets.Update(w);
                _context.SaveChanges();
                transaction.Commit();
            }
            catch (Exception ex)
            {
                transaction.Rollback();
            }
        }
        return "request 1 executed";
    }

    [HttpGet]
    [Route("request2")]
    public async Task<string> request2()
    {
        using (var transaction = _context.Database.BeginTransaction(System.Data.IsolationLevel.Serializable))
        {
            try
            {
                Wallet w = _context.Wallets.Where(ww => ww.UserId == …
Run Code Online (Sandbox Code Playgroud)

sql-server concurrency entity-framework transactions asp.net-web-api

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

Firebase 电话身份验证在已投入生产的应用程序上失败,状态代码 17028

我们正在使用 firebase 电话身份验证来验证我们的用户。我们已经使用它一年多了。

今天格林威治标准时间 13:00,新用户在输入电话号码后收到17028 无效的 safety_net_token 。

我尝试验证在 firebase 文档中找到的每个原因:

  1. 在 Firebase 控制台上验证 SHA1 和 SHA256(我们使用 Play 商店控制台上的指纹)
  2. 验证包名

最后一次应用更新是在 10 月 1 日,此后数千名用户使用 Firebase Auth 创建了帐户,并且 Firebase 控制台上没有任何配置更改。

查看其他 StackOverflow 问题后,我们收到的错误与17028 A safety_net_token was Passed, but nomatching SHA-256 was Registered in the Firebase console 不同。请确保此应用程序的 packageName/SHA256 对已在 Firebase 控制台中注册。尽管它是相同的错误代码,但在我们的示例中,它表示传递了无效令牌。

我们正在使用 firebase 和 react-native-firebase 模块。

编辑:从 Google Cloud Console 禁用 Android 设备验证 API 后,验证现在可以正常工作,但没有设备验证。(用户必须验证他们不是带有验证码的机器人)。

firebase google-cloud-platform firebase-authentication

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

改进 Tesseract 的阈值结果

我有点被这个问题困住了,我知道关于堆栈溢出有很多问题,但就我而言。什么都没有给出预期的结果。

上下文:

正在使用 Android OpenCV 和 Tesseract,因此我可以读取护照中的 MRZ 区域。当相机启动时,我将输入帧传递给 AsyncTask,处理帧,成功提取 MRZ 区域,我将提取的 MRZ 区域传递给函数 prepareForOCR(inputImage),该函数将 MRZ 区域作为灰色 Mat 并输出我将传递给 Tesseract 的带有阈值图像的位图。

问题:

问题是在对图像进行阈值处理时,我使用了 blockSize = 13 和 C = 15 的自适应阈值处理,但根据图像的照明和获取帧的一般条件,给出的结果并不总是相同。

我尝试过的:

首先,我将图像大小调整为特定大小 (871,108),因此输入图像始终相同且不依赖于使用的手机。调整大小后,我尝试使用不同的 BlockSize 和 C 值

//toOcr contains the extracted MRZ area
Bitmap toOCRBitmap = Bitmap.createBitmap(bitmap);
Mat inputFrame = new Mat();
Mat toOcr = new Mat();
Utils.bitmapToMat(toOCRBitmap, inputFrame);
Imgproc.cvtColor(inputFrame, inputFrame, Imgproc.COLOR_BGR2GRAY);
TesseractResult lastResult = null;
for (int B = 11; B < 70; B++) {
    for (int C …
Run Code Online (Sandbox Code Playgroud)

ocr android opencv tesseract opencv4android

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