我正在根据动态值创建文件名,例如公司名称和forename/surname.
然后,我想在尝试创建文件之前验证文件名是否有效.这是检查它不包含任何非法字符,如果他们这样做,则替换它们.
我当然可以使用正则表达式,但是想知道是否有像commons-lang或commons-io这样的现有方法呢?
我是以下情况.
在Web应用程序启动时,我需要加载一个Map,然后由多个传入线程使用.也就是说,请求进入并且Map用于查明它是否包含特定键,如果是,则检索值(对象)并将其与另一个对象相关联.
现在,有时地图的内容会发生变化.我不想重新启动我的应用程序来重新加载新的情况.相反,我想动态地这样做.
但是,在Map重新加载(删除所有项目并用新项目替换它们)时,该Map上的并发读取请求仍然到达.
我该怎么做才能防止所有读取线程在重新加载时访问该Map?我怎样才能以最高性能的方式做到这一点,因为我只需要在Map重新加载时只需偶尔发生(每x周一次)?
如果以上不是一个选项(阻塞),我怎样才能确保在重新加载我的读取请求时不会遇到意外的异常(因为某个键不再存在,或者某个值不再存在或正在重新加载)?
我得到了ReadWriteLock可能帮助我的建议.你能否为我提供一个关于如何将这个ReadWriteLock与我的读者和作者一起使用的例子?
谢谢,
E
如何为asp.net mvc控制器使用System.Web.Mvc.SelectListItem.
我有一个带有以下web.xml的spring 2.5 webapp
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<display-name>Spring BlazeDS Integration Samples</display-name>
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>ServerBlaze</param-value>
</context-param>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring/*-context.xml
</param-value>
</context-param>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/config/log4j.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>flex.messaging.HttpFlexSession</listener-class>
</listener>
<servlet>
<servlet-name>serverBlaze</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>serverBlaze</servlet-name>
<url-pattern>/messagebroker/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
Run Code Online (Sandbox Code Playgroud)
我宣布了这个豆子
<bean id="mylog"
class="org.springframework.beans.factory.config.CommonsLogFactoryBean">
<property name="logName" value="mylog" />
</bean>
Run Code Online (Sandbox Code Playgroud)
在services-context.xml中(它是一个blazeds/spring项目).
我将这种方式注入UserDAO bean:
<bean id="user" class="com.acotel.msp.database.UserDAO" >
<property name="mylog" ref="mylog" />
<property name="jsonClient" ref="jsonClient" />
</bean>
Run Code Online (Sandbox Code Playgroud)
这是log4j.xml配置文件:
<?xml version="1.0" …Run Code Online (Sandbox Code Playgroud) 我有3个非抽象的持久化类.MyClubUser和HisClubUser类继承自User类.我为每个子类策略使用一个表,即@Inheritance(strategy = InheritanceType.JOINED)对于这些类.
我观察到的是当我对User类进行查询时,生成的SQL使用左外连接HisClubUser和MyClubUser.为什么Hibernate会这样做[加入其他表格]我的关注点只是用户?我的观点是,即使检索到数据,我也无法在MyClubUser或HisClubUser中访问这些属性,因为返回了User实例.此外,与仅查询没有左外连接的User表的查询相比,这是否会导致额外的开销?
谢谢
我正在使用带有Windows应用程序表单的C#.在这个我有一个组合框.添加下拉选项的代码是什么?到目前为止,我的谷歌搜索我认为我需要为细节设置一个arraylist?
使用经典的VB6应用程序,成千上万的疯狂评论.
例:
If garrFilePaths(i).FilePath = "" Then
'do nothing
Else
MsgBox "File Not Found (" & garrFilePaths(i).FilePath & ")", vbOKOnly, gcstrMessageBoxTitle
End If
我必须在pl/sql proc中将查询结果填充到数组中.
例如,我有一个employeeId empArr (TYPE empArr IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;),我想用sql语句的结果填充这个数组:
select empId where dept = 'accounts'.
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点 ?或者你会建议使用游标来完成这项工作吗?
谢谢Cshah