小编Mat*_*ieu的帖子

DBCP:removeAbandoned VS驱逐

我没有弄清楚removeAbandoned驱逐之间的区别.我在某处读过removeAbandoned已被弃用,但在官方文档中没有提到它(http://commons.apache.org/dbcp/configuration.html).

所以,如果有人能够启发我,我将不胜感激:)

谢谢!

java mysql database connection-pooling apache-commons-dbcp

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

使用HTTPClient进行双向身份验证

我正在尝试对需要双向SSL连接(客户端身份验证)的服务器进行HTTP调用.我有一个包含多个证书和密码的.p12文件.使用协议缓冲区序列化请求.

我的第一个想法是将密钥库添加到HttpClient使用的WebRequestHandler的ClientCertificate属性中.我还在我的计算机上将密钥库添加到了我信任的根证书颁发机构.

执行PostAsync时,我总是得到"无法创建ssl/tls安全通道".显然我做错了但我在这里有点不知所措.

任何指针将不胜感激.

    public void SendRequest()
    {
        try
        {
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;

            var handler = new WebRequestHandler();

            // Certificate is located in bin/debug folder
            var certificate = new X509Certificate2Collection();
            certificate.Import("MY_KEYSTORE.p12", "PASSWORD", X509KeyStorageFlags.DefaultKeySet);

            handler.ClientCertificates.AddRange(certificate);
            handler.ServerCertificateValidationCallback = ValidateServerCertificate;

            var client = new HttpClient(handler)
            {
                BaseAddress = new Uri("SERVER_URL")
            };
            client.DefaultRequestHeaders.Add("Accept", "application/x-protobuf");
            client.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", "application/x-protobuf");
            client.Timeout = new TimeSpan(0, 5, 0);

            // Serialize protocol buffer payload
            byte[] protoRequest;
            using (var ms = new MemoryStream())
            {
                Serializer.Serialize(ms, MyPayloadObject());
                protoRequest = ms.ToArray();
            }

            var result …
Run Code Online (Sandbox Code Playgroud)

c# authentication ssl httpclient ssl-certificate

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

如何绑定到Silverlight 4中的单例属性?

嗨所有的第一篇文章在这里:)让我们从我正在使用的代码片段开始:

public MyClass : INotifyPropertyChanged
{
  private static MyClass _instance;
  public static MyClass Instance
  {
      get
      {
          if (_instance == null)
              _instance = new MyClass();
          return _instance;
      }
  }

  private bool _myProperty;
  public bool MyProperty
  {
      get
      {
        return _myProperty;
      }
      set
      {
          if (_myProperty!= value)
          {
              _myProperty= value;
              NotifyPropertyChanged("MyProperty");
          }
      }
   }

   private MyClass() { ... }
}
Run Code Online (Sandbox Code Playgroud)

如你所见,它是一个单身人士类.在我看来,我想在MyProperty上绑定一个控件.我最初的想法是在我的视图中使用以下内容将MyClass导入为静态资源:

<UserControl x:Class="Metrics.Silverlight.ChartView"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:logic="clr-namespace:Metrics.Logic;assembly=Metrics.Logic">
  <UserControl.Resources>
    <logic:MyClass x:Key="myClass" />
  </UserControl.Resources>
</UserControl>
Run Code Online (Sandbox Code Playgroud)

然后像这样绑定它:

<Button Margin="5" Click="btnName_Click"  Visibility="{Binding Source={StaticResource myClass}, Converter={StaticResource visibilityConverter}, …
Run Code Online (Sandbox Code Playgroud)

.net c# silverlight mvvm silverlight-4.0

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

Log4j数据库appender

我希望log4j在MySql数据库中记录我的错误,但官方文档相当稀疏(为什么?).无论如何,这是我对log4j.xml配置文件的尝试:

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="jdbcAppender" class="org.apache.log4j.jdbc.JDBCAppender"> 
    <param name="URL" value="jdbc:mysql://my_host/my_database" /> 
    <param name="Driver" value="com.mysql.jdbc.Driver" /> 
    <param name="User" value="my_user_name" /> 
    <param name="Password" value="my_passwod" /> 
    <layout class="org.apache.log4j.PatternLayout"> 
        <param name="ConversionPattern" 
          value="INSERT INTO errorlogs (Date, log_level, Application, Message, Exception) VALUES (TIMESTAMP(now()),'%p', ?? '%m', '%e' )"
        /> 
    </layout> 
</appender> 
Run Code Online (Sandbox Code Playgroud)

我需要"Application"参数进行自定义.使用C#中的log4net,在我的代码中我会添加如下:

log4net.GlobalContext.Properties["Application"] = applciation;
Run Code Online (Sandbox Code Playgroud)

并在我的xml配置文件中添加它:

<parameter>
    <parameterName value="?application" />
    <dbType value="String" />
    <size value="50" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%property{Application}" />
    </layout>
  </parameter>
Run Code Online (Sandbox Code Playgroud)

我想知道如何用log4j做同样的事情?

谢谢!

java logging log4j

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

JNDI查找失败(NameNotFoundException)

更新:嗯,似乎只有在我尝试在本地调试时这才是问题.当发布在Jetty(不是同一台机器)上时,效果很好.在本地调试时是否可以配置Run-Jetty-Run使用的jetty.xml文件?

我只是浪费了一个下午试图找到原因,但没有成功......

我正在为我的应用程序设置一个带有c3p0的连接池.顺便说一句,我正在使用Jetty 7.问题是,当我执行context.lookup获取数据源时,我得到以下异常:

javax.naming.NameNotFoundException; remaining name 'env/jdbc/DSTest'
at org.eclipse.jetty.jndi.NamingContext.lookup(NamingContext.java:634)
at org.eclipse.jetty.jndi.NamingContext.lookup(NamingContext.java:665)
at org.eclipse.jetty.jndi.NamingContext.lookup(NamingContext.java:680)
at org.eclipse.jetty.jndi.java.javaRootURLContext.lookup(javaRootURLContext.java:113)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at com.see.metrics.SqlHelper.Initialize(SqlHelper.java:68)
at com.see.metrics.Metrics.Initialize(Metrics.java:45)
at com.see.game.GameProducer.generateMetadata(GameProducer.java:223)
at org.odata4j.producer.mongodb.MongoProducer.initMongo(MongoProducer.java:98)
at org.odata4j.producer.mongodb.MongoProducerFactory.create(MongoProducerFactory.java:55)
at org.odata4j.producer.resources.ODataProducerProvider.newProducerFromFactory(ODataProducerProvider.java:66)
at org.odata4j.producer.resources.ODataProducerProvider.getInstance(ODataProducerProvider.java:48)
at org.odata4j.producer.resources.ODataProducerProvider.getInstance(ODataProducerProvider.java:1)
at com.sun.jersey.core.impl.provider.xml.LazySingletonContextProvider.get(LazySingletonContextProvider.java:80)
at com.sun.jersey.core.impl.provider.xml.LazySingletonContextProvider.access$000(LazySingletonContextProvider.java:52)
at com.sun.jersey.core.impl.provider.xml.LazySingletonContextProvider$1.getValue(LazySingletonContextProvider.java:69)
at com.sun.jersey.server.impl.inject.AbstractHttpContextInjectable$1.getValue(AbstractHttpContextInjectable.java:100)
at com.sun.jersey.server.impl.inject.InjectableValuesProvider.getInjectableValues(InjectableValuesProvider.java:43)
at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$EntityParamInInvoker.getParams(AbstractResourceMethodDispatchProvider.java:119)
at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:166)
at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)
at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:259)
at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:83)
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:133)
at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:71)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:990)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:941)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:932)
at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:384)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:451)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:632)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:538)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:478)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
at …
Run Code Online (Sandbox Code Playgroud)

java jndi jetty c3p0

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

MySQL中的INFORMATION_SCHEMA.key_column_usage性能不佳

我正在运行MySQL的5.5.11版本,查询INFORMATION_SCHEMA.key_column_usage表时的性能非常糟糕.

我有一个简单的选择请求:

SELECT REFERENCED_TABLE_NAME
       , TABLE_NAME AS TableName
       , COLUMN_NAME AS ColumnName
       , CONSTRAINT_SCHEMA AS Db 
FROM INFORMATION_SCHEMA.key_column_usage 
Run Code Online (Sandbox Code Playgroud)

平均需要8秒才能返回400行.这是一个知道问题吗?如果是这样,有没有办法提高性能(补丁可能?).

mysql sql performance information-schema

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

组合的分组算法

假设我有一个项目列表,每个项目都由一个简单的结构定义

struct simpleItem
{
    String Category1;
    String Category2;
    ...
    String CategoryN;
}
Run Code Online (Sandbox Code Playgroud)

每个项目都有一系列属于某些类别的值.在处理列表时已知类别数量N,并且每个项目具有相同数量的类别并且每个类别仅具有一个值,没有重复项目.但是,每个列表可以具有不同的类别集.

我正在寻找一种方法来按类别对这些项目进行分组,如果通过组合每个类别的排列将这些组解构为单个项目,我将最终得到原始的组合,没有重复.

小组结果将是:

struct grouped
{
    String[] Category1;
    String[] Category2;
    ...
    String[] CategoryN;
}
Run Code Online (Sandbox Code Playgroud)

为了这个例子,我们将限制为3个类别,但可以有N个.

分类

动物,眼睛颜色,毛皮

选择"动物"类别:猫,狗,鼠,马

选择"眼睛颜色"类别:蓝色,黄色,绿色,红色,橙色

"毛皮"类别的选择:长,短,卷曲

如果列表具有这3个类别的所有排列,则最终结果将是

第1组:
动物[猫,狗,大鼠,马]
眼睛颜色[蓝色,黄色,绿色,红色,橙色]
毛皮[长,短,卷曲]

如果我有一个子列表,例如:

  1. 猫,蓝色,长
  2. 猫,蓝色,短
  3. 狗,蓝色,长
  4. 狗,蓝色,短
  5. 狗,绿龙
  6. 大鼠,红色,短
  7. 大鼠,蓝色,短

我们叫这个清单,输入(A)

在将这些项目分组后,我们最终会得到:(可能还有其他可能性).分组标准是尽可能减少输出组.

第1组:
动物[猫,狗]
眼睛颜色[蓝色]
毛皮[长,短]

第2组:
动物[狗]
眼睛颜色[绿色]
毛皮[长]

第3组:
动物[大鼠]
眼睛颜色[红色,蓝色]
毛皮[短]

我们称这些组为输出(B)

正如我们所看到的,通过组合结果组的每个项目,我们将回到(A)中7个元素的原始输入列表.

所以,我正在尝试编写一个生成这些组的算法.我试图用LINQ做这个,但我也愿意接受其他建议.关于如何从(A)到达(B)的任何建议?

c# linq algorithm

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

使用 Aurelia 对Blur 进行现场验证

我正在使用 Aurelia 和 Typescript 构建网页。我有一个简单的登录表单,我想验证用户电子邮件和密码。

我正在使用 Aurelia 验证,默认情况下它会在每次更改时验证我的输入内容,这可能很烦人。(例如:当您尚未输入电子邮件时,收到一条错误消息,指出电子邮件无效)。因此,我想在 Blur 上进行验证(当输入焦点丢失时)以及当用户单击“登录”按钮时。

这是我的代码:

登录.html

<template>
<section>
    <div class="container col-lg-12">
        <div class="col-md-4 col-md-offset-4 centered">
            <h2 t="signin_sign_in"></h2>
            <form role="form" submit.delegate="login()" validate.bind="validation">
                <br if.bind="errors" />
                <div if.bind="errors" repeat.for="error of errors" class="alert alert-danger">
                    <h4 repeat.for="message of error">${message}</h4>
                </div>
                <div class="form-group">
                    <label class="control-label" t="signin_email_address"></label>
                    <input type="text" class="form-control" value.bind="email">
                </div>
                <div class="form-group">
                    <label class="control-label" t="signin_password"></label>
                    <input type="password" class="form-control" value.bind="password">
                </div>
                <button type="submit" class="btn btn-primary" t="signin_sign_in"></button>
            </form>
        </div>
    </div>
</section>
</template>
Run Code Online (Sandbox Code Playgroud)

登录.ts

@autoinject()
export class Login {
  email: string; …
Run Code Online (Sandbox Code Playgroud)

html javascript validation typescript aurelia

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

将应用程序注册访问权限限制为特定组

我正在构建一个使用 Azure Active Directory 的 Web 应用程序,该应用程序具有登录方法。在 Azure 中,我希望将对我的应用程序的访问权限限制为仅特定的用户组。我无法在 Azure 门户中找到如何执行此操作,希望得到一些指示。

这是我的设置。我想将“我的应用程序”的访问权限限制为仅属于Group 1成员的用户。

在此输入图像描述

在此输入图像描述

security azure azure-active-directory

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

时间戳与秒

我在我的应用程序中使用Xamarin Forms,我需要用户能够以HH:mm:ss格式输入时间.所以,基本上我需要一个像这样的控件:

时间戳与秒

通过使用自定义iOS渲染,我已经能够从TimePicker中删除AM/PM部件来实现以下目标:

在此输入图像描述

这是我的渲染器代码:

public class TimePickerSecondsRenderer : TimePickerRenderer
{
    protected override void OnElementChanged(ElementChangedEventArgs<TimePicker> e)
    {
        base.OnElementChanged(e);

        var timePicker = (UIDatePicker)Control.InputView;
        timePicker.Locale = new NSLocale("CA");

    }
}
Run Code Online (Sandbox Code Playgroud)

我认为这是朝着正确方向迈出的一小步,但在为秒添加第三列以及每列的标签时,我真的很茫然.

我看了看这篇文章,但到目前为止它并没有真正帮助我.

有没有人设法通过他们的Xamarin Forms项目实现这种控制?你介意分享一些指示吗?

c# xamarin.ios ios xamarin xamarin-forms

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

在Jetty上部署Maven Web项目

当我尝试在Jetty上运行我的项目时,我遇到了这个异常:

java.lang.ClassNotFoundException:默认

完整堆栈:

Launching Jetty with port 8080, context / and webapp path src/main/webapp
2011-07-19 16:49:56.832:INFO::Logging to STDERR via org.mortbay.log.StdErrLog
2011-07-19 16:49:56.841:INFO::jetty-6.1.26
2011-07-19 16:49:57.181:WARN::EXCEPTION 
java.lang.ClassNotFoundException: Default
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:401)
    at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:363)
    at org.mortbay.util.Loader.loadClass(Loader.java:91)
    at org.mortbay.util.Loader.loadClass(Loader.java:71)
    at org.mortbay.jetty.servlet.Holder.doStart(Holder.java:73)
    at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:242)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:736)
    at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
    at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
    at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
    at org.mortbay.jetty.Server.doStart(Server.java:224)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at   net.sourceforge.eclipsejetty.launch.JettyLauncherMain.launch(JettyLauncherMain.java:67)
at     net.sourceforge.eclipsejetty.launch.JettyLauncherMain.main(JettyLauncherMain.java:50) …
Run Code Online (Sandbox Code Playgroud)

java eclipse maven-2 jetty

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

对Logic App中的Azure功能故障做出反应

我有一个简单的逻辑应用程序在重复触发器上运行Azure函数(每天).如果运行该功能时出现问题,我想向IT部门发送电子邮件.这是我的Logic App设置:

在此输入图像描述

但是,每当出现错误时(例如,azure函数返回HTTP代码500,就像这样:)

return req.CreateResponse(HttpStatusCode.InternalServerError, new
        {
            error = $"{errorMessage}. {ex.Message}"
        });
Run Code Online (Sandbox Code Playgroud)

逻辑应用程序流程在我检查状态代码并对其作出反应之前就停止了:

在此输入图像描述

所以我的问题是:有没有办法处理Azure功能错误响应代码?

c# azure azure-logic-apps azure-functions

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