Must I use spring Framework with JSF2 and Hibernate?

Hi all,
I'm starting to develop a web portal and I would use JSF2 and Hibernate.
Now I don't know JSF2 so I searched some tutorial.
I found a tutorial on JSF2 that seems very complete but in this tutorial I found a section where the author use Hibernate for the "model section", JSF2 for the "view section" and Spring for the "controller section"!
Now I have a doubt, can I develop a web portal without Spring MVC or I can't develop any controller's component with JSF2?
Thank you for your replies!

For Ram, do you mean that JSF2 isn't a MVC framework with your reply?
For Kayaman, the author did some examples how implements some frameworks with JSF2 and he do 3 examples:
1) JSF2 and JDBC;
2) JSF2 and Spring;
3) JSF2, Spring and Hibernate!
However, after this thread, I found a forum in linked to the tutorial and I asked why they use JSF2 and Spring together! Now Im waiting the answer!
For Gimbla2: well, I'm novice on JSF2 but I develop for some years with ADF and JBO framework!
You are right to tell me "On the official sites you can find all informations" but I would know some things from some one that used both frameworks!
Thanks again to all.
Edited by: Filippo Tenaglia on 20-giu-2011 14.16

Similar Messages

  • Spring framework with JDeveloper

    Hi,
    I'm developing to an application using JDeveloper. I need to use Spring framework, somebody has used it, integrating it with JDeveloper ?
    Thanks

    Hello,
    How do you use ADF with Spring in a JSF application? I am trying and it seems like my ADF filter and JSf-Spring integration filter conflict with each other. Here the stanzas from my web.xml file. Ther ADF Internal listener fails with a null ptr or a java.lang.ArrayIndexOutOfBoundsException when I attempt to access my JSF page (no ADF tags are in this page but it does use Spring/JSF managed beans). If I remove the ADF filter and retry everything works???
    <!-- Runtime exception -->
    java.lang.ArrayIndexOutOfBoundsException: 3
         javax.faces.component.UICommand.restoreState(UICommand.java:268)
         javax.faces.component.html.HtmlCommandButton.restoreState(HtmlCommandButton.java:826)
         javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:999)
         javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1011)
         javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1011)
         javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1011)
         oracle.adfinternal.view.faces.application.StateManagerImpl.restoreView(StateManagerImpl.java:249)
         com.sun.faces.application.ViewHandlerImpl.restoreView(ViewHandlerImpl.java:246)
         oracle.adfinternal.view.faces.application.ViewHandlerImpl.restoreView(ViewHandlerImpl.java:192)
         com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:157)
         com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
         com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
         javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
         oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:264)
         oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:151)
         oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:123)
         de.mindmatters.faces.spring.RequestHandledFilter.doFilter(RequestHandledFilter.java:117)
    <!-- Faces Filter -->
    <filter>
    <filter-name>faces</filter-name>
    <filter-class>oracle.adfinternal.view.faces.webapp.FacesFilter</filter-class>
    <init-param>
    <param-name>faces-servlet-url-pattern</param-name>
    <param-value>/faces/*</param-value>
    </init-param>
    </filter>
    <filter>
    <filter-name>adfFaces</filter-name>
    <filter-class>oracle.adf.view.faces.webapp.AdfFacesFilter</filter-class>
    </filter>
    <filter>
    <filter-name>RequestHandled</filter-name>
    <filter-class>de.mindmatters.faces.spring.RequestHandledFilter</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>RequestHandled</filter-name>
    <url-pattern>/faces/*</url-pattern>
    </filter-mapping>
    <!-- Faces Filter Mappings -->
    <filter-mapping>
    <filter-name>faces</filter-name>
    <url-pattern>*.jspx</url-pattern>
    </filter-mapping>
    <filter-mapping>
    <filter-name>adfFaces</filter-name>
    <servlet-name>faces</servlet-name>
    </filter-mapping>
    <listener>
         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

  • Using Entity Framework with SQL Azure - Reliability

    (This is a cross post from http://stackoverflow.com/questions/5860510/using-entity-framework-with-sql-azure-reliability since I have yet to receive any replies there)
    I'm writing an application for Windows Azure. I'm using Entity Framework to access SQL Azure. Due to throttling and other mechanisms in SQL Azure, I need to make sure that my code performs retries if an SQL statement has failed. I'm trying to come up with
    a solid method to do this.
    (In the code below, ObjectSet returns my EFContext.CreateObjectSet())
    Let's say I have a function like this:
      public Product GetProductFromDB(int productID)
         return ObjectSet.Where(item => item.Id = productID).SingleOrDefault();
    Now, this function performs no retries and will fail sooner or later in SQL Azure. A naive workaround would be to do something like this:
      public Product GetProductFromDB(int productID)
         for (int i = 0; i < 3; i++)
            try
               return ObjectSet.Where(item => item.Id = productID).SingleOrDefault();
            catch
    Of course, this has several drawbacks. I will retry regardless of SQL failure (retry is waste of time if it's a primary key violation for instance), I will retry immediately without any pause and so on.
    My next step was to start using the Transient Fault Handling library from Microsoft. It contains RetryPolicy which allows me to separate the retry logic from the actual querying code:
      public Product GetProductFromDB(int productID)
         var retryPolicy = new RetryPolicy<SqlAzureTransientErrorDetectionStrategy>(5);
         var result = _retryPolicy.ExecuteAction(() =>
               return ObjectSet.Where(item => item.Id = productID).SingleOrDefault;
         return result;
    The latest solution above is described as ahttp://blogs.msdn.com/b/appfabriccat/archive/2010/10/28/best-practices-for-handling-transient-conditions-in-sql-azure-client-applications.aspx Best Practices for Handling Transient Conditions in SQL Azure Client
    Application (Advanced Usage Patterns section).
    While this is a step forward, I still have to remember to use the RetryPolicy class whenever I want to access the database via Entity Framework. In a team of several persons, this is a thing which is easy to miss. Also, the code above is a bit messy in my
    opinion.
    What I would like is a way to enforce that retries are always used, all the time. The Transient Fault Handling library contains a class called ReliableSQLConnection but I can't find a way to use this with Entity Framework.
    Any good suggestions to this issue?

    Maybe some usefull posts
    http://blogs.msdn.com/b/appfabriccat/archive/2010/12/11/sql-azure-and-entity-framework-connection-fault-handling.aspx
    http://geekswithblogs.net/iupdateable/archive/2009/11/23/sql-azure-and-entity-framework-sessions-from-pdc-2009.aspx

  • Printer is overprinting old jobs on top of new jobs.  Using a Mac with OSx and a HP photosmart for over a year.  this just started happening.

    Printer is overprinting old jobs on top of new jobs.  Using a Mac with OSx and a HP photosmart for over a year.  this just started happening.

    RReset printing system again and the restart in Safe Mode . This will clear some caches,to do this hold down the Shift key when you hear the startup tone until a progress bar appears, after it has fully booted restart normally and add the printer.

  • Using iPhone 4s with IOS5 and my Music icon has disappeared.  How do I get it back?  Please.

    Using iPhone 4s with IOS5 and my Music icon has disappeared.  Please help me to get it back.

    It should be in your applications folder.  Locate it; click and hold onto it then drag it back to where it was.

  • C++: Is it possible using callback function with ncacn_http and rpcproxy server ?

    I have a remote procedure and I can call it using http over rpc. I pass trough an rpc proxy server for arriving to my rpc server.
    But I cannot call a callback function to my client inside the server function.
    Is it possible using callback function with ncacn_http and rpcproxy server ?
    We are using IIS on windows server 2008 R2 and the server rpc and the client on the same PC with rpc rpoxy.
    If I use ncan_ip_tcp all works fine.
    Thanks
    Gianluca

    Hi,
    About the develop question please post to the MSDN forum.
    MSDN forum Developer Network
    http://social.msdn.microsoft.com/Forums/en-US/home?forum=WAVirtualMachinesVirtualNetwork&filter=alltypes&sort=lastpostdesc
    Thanks for your understanding and support.
    We
    are trying to better understand customer views on social support experience, so your participation in this
    interview project would be greatly appreciated if you have time.
    Thanks for helping make community forums a great place.

  • I am from India using my iphone4 with Vodafone and  firmware version 5.0.1(9A405). I am unable to access 3G from my device as the CELLULAR DATA NETWORK option in the settings is missing. Any methods or options for fixing the same????

    I am from India using my iphone4 with Vodafone and  firmware version 5.0.1(9A405). I am unable to access 3G from my device as the CELLULAR DATA NETWORK option in the settings is missing. Any methods or options for fixing the same????

    I am from India using my iphone4 with Vodafone and  firmware version 5.0.1(9A405). I am unable to access 3G from my device as the CELLULAR DATA NETWORK option in the settings is missing. Any methods or options for fixing the same????

  • Frequent disconnect using peap wpa2 with aes and tkip

    I got frequent disconnect for the users on wireless using peap wpa2 with aes and tkip.
    My network is setup with :
    -Wireless controller 4404
    -ACS 4.0
    -28 access point 1131g
    -Peap authentication with active directory windows 2003
    -windows xp - mschap2 with aes- tkip
    when i check only aes on the wireless controller 4404 the network user are able work in a stable condition

    This might similar to the bug where Wireless phones dont associate if WPA2 is configured with both AES/TKIP. In this case try to upgrade the controller.

  • PC Used to work with XP and airport Extreme Basestation but not with Vista

    Please help, my PC Used to work with XP and airport Extreme Basestation but not now with Vista. I have a MacBook Pro connected and also a Mac Pro connected to the network on it and they still work, i have put the latest software on the PC and the firmware is up to date. The only thing i can see on the network on the PC is the basestation Hard Disk (shared also to the Macs) but i cannot connect with the password, i have tried everything in my knowledge, including formatting the machine and reinsatlling OS and changing security setting to no avail. Any ideas anyone?

    With regard to your printer problem - take a look at this discussion:
    http://discussions.apple.com/thread.jspa?messageID=6312413&tstart=0

  • Weblogic 9.2 error when using spring framework and taglibs.

    I am getting the following error when using spring binding for a command form class.
    Class ExCommandForm
    private String firmCode;
    public String getFirmCode ()
    public void setFirmCode ()
    In my jsp I have the following
    <spring:bind path="exCommandForm.firmCode">
    <input name="<c:out value="${status.expression}"/>" type="text" value="<c:out value="${status.value}"/>" >
    </spring:bind>
    Ps. exCommandForm is the commandForm declaration in my SiimpleFormController.
    When I deploy the application to weblogic 9.2 I get the following error :
    <Apr 26, 2007 4:34:44 PM BST> <Error> <HTTP> <BEA-101017> <[weblogic.servlet.int
    ernal.WebAppServletContext@1f601c6 - appName: 'BDRui', name: 'BDRui', context-pa
    th: '/BDRui'] Root cause of ServletException.
    java.lang.ClassCastException: javax.servlet.jsp.jstl.core.LoopTagSupport$1Status
    at jsp_servlet._web_45_inf._jsp.__tradesearch._jspService(__tradesearch.
    java:1075)
    at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run
    (StubSecurityHelper.java:225)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecuri
    tyHelper.java:127)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.jav
    a:283)
    Ps. Deploying application on Tomcat 5.23 works.
    Can anyone help on this ?
    cheers in advance.
    More Info - Using Weblogic 9.2 on UNIX, servlet 2.4, jstl 1.1
    regards
    Edited by kings_citi at 04/26/2007 9:03 AM
    Edited by kings_citi at 04/26/2007 10:35 AM
    Edited by kings_citi at 04/26/2007 10:36 AM

    The problem doesn't look like it has anything to do with wappers per se. The stack indicates that the JVM died when the persistent store tried to invoke a standard Java synchronize operation. JVM crashes need to be analyzed by a JVM expert, so I second the suggestion to solicit help from JVM experts and/or filing a case with customer support. In the mean-time, you can probably work-around the issue by either (A) ensuring you have a recent version of the JVM installed, or (B) temporarily switching to the Sun JVM.
    Regards,
    tom
    Edited by: TomB on Sep 17, 2010 2:33 PM

  • I burnt a dvd from a file I exported from quicktime using the share with apple and pc option.  It was burnt directly from the finder. The dvd works perfectly on my mac, and also runs in my windows, but the sound in my windows pc is stammered.

    This is file I created in SnapzPro (which was saved as a Quicktime mov - Animation) of a Powerpoint Presentation.

    Jon, how do I re-compress the Snapz data for dvd playback?
    That depends on your specific work flow strategy. I normally perform the processing in two stages if editing is involved or in a single stage if I don't plan to trim, title, add a narration track, add special effects, and/or add filters to the Snapz Pro X captured screen data.
    In the two-stage process you export the captured data to an intermediate low-compression, high-quality fomat. (This can be the default settings for Snaps Pro X or a more modern editing specific format like ProRes 422/Linear PCM depending on the codec components for which your system is configured and your personal editing preferences.) The Snapz Pro X intermediate file is then edited in the application of your choice and the results are re-compressed to your final target compression format.
    In any case, whether you are re-compressing the data using QT 7 Pro, iMovie, GarageBand, MPEG Streamclip, Snapz Pro X, or similar third-party app that accesses the built-in OS X QT routines, the export process is essentially the same. Whether you use a "Movie to MPEG-4" or "Movie to QT Movie" export, you must export to a data rate limited, multi-pass H.264/AAC compression combination to take advantage of the "Optimize of CD/DVD" option. Specific data rate limits depend on the playback dimensions of the file you are creating, the minimum level of quality you will accept, and the playback speed of the hardware to be used. (I normally target 4X-8X settings for SD content but if you know the recipient has a higher rated optical drive and your content is HD, then you can use higher encode settings for improved quality.)
    I captured the slideshow again in Snapz, and saved it as H264/AAC. Is this good enough?
    If you did not specifically use the "Optimize for..." feature, then the file is automatically targeted for "Computer" playback which assumes playback is from an hard drive which has greater bandwidth/faster throughput than an optical media player. If the target display dimensions are resonably small, the the contextual nature of the H.264 video encoder may or may not be within the playback limitations of an optical drive usually depending on the encode matrix dimensions, graphic complexity of the source data, overall brightness of the scenes, and limitations you may have place on the target file—i.e., the larger the encoding dimensions, the faster the data date and the less likely the file will be compatible with optical drive playback without having to constantly interrupt playback to cache/rebuffer additional data. However, you can always tell the recipient that if this happens, he or she should simply copy the movie file from the CD/DVD to their hard drive for playback.
    What now? Do I open it in Quicktime and use the "share for mac and pc", then right-click on it in the finder and "burn to disc?"
    What you do next depends on how you plan to burn the file. The steps explained above allows you to create a file that is compatible with playback from an optical drive in a QT Player app but is not authored for playback from a commercial DVD Player. Your next step is to burn that file to an optical disc that can be read by your recipient's computer. I my case, I normally burn the disc using a hybrid (HFS Plus/ISO 9660) format which supports HFS Plus, ISO-9660, Rock Ridge, and Joliet with Rock Ridge file systems. How you do this is up to you. You can, for instance, use a third-party app like Toast or Dragon Burn to create a data disc; create/burn an image file with your Disk Utility app (this is a good option if you plan to burn several discs now and/or in the future); create a named "Burn" folder, drop the file to it, and press the burn button; or simply insert a blank optical media disc into you optical drive, change the default disc name to whatever you want, drop your file to the blank media's Finder window, and press the "Burn" button. (NOTE: Burn options may differ depending on the software installed on your system and/or the version of OS X under which you may be operating.)
    Dont see any specs re playback from an optical disc drive? The slideshow is only 3 min long, and I want to avoid turning it into a video DVD using iDVD, iMovie etc, as the quality of the pictures and type degrades badly. Thanks for the help. Been struggling with this for weeks.
    As noted above, this is an encode setting that only becomes active when you are targeting your H.264/AAC encode for multi-pass/data rate limited compression. When active, the "Optimize for..." pop-up allows you to select "computer" (targets playback from a hard drive), "CD/DVD" (targets playback from optical media), or "Streaming" (targets playback from a realtime streaming server) options. This option prevents data rate excursions from exceeding limits normally associated with each of the named types of playback. This option has nothing to do with the file system used to burn the media disc which determines which platforms/OS can read the disc and the file it contains.

  • Please help - Can not use stored procedure with CTE and temp table in OLEDB source

    Hi,
       I am going to create a simple package. It has OLEDB source , a Derived transformation and a OLEDB Target database.
    Now, for the OLEDB Source, I have a stored procedure with CTE and there are many temp tables inside it. When I give like EXEC <Procedure name> then I am getting the error like ''The metadata  could not be determined because statement with CTE.......uses
    temp table. 
    Please help me how to resolve this ?

    you write to the temp tables that get created at the time the procedure runs I guess
    Instead do it a staged approach, run Execute SQL to populate them, then pull the data using the source.
    You must set retainsameconnection to TRUE to be able to use the temp tables
    Arthur My Blog

  • How to  we  use Tiles Framework  with ADF Faces  ?

    Hello Every body,
    Can anyone tell me whether We mix Tiles framework of Struts, and ADF Faces Framework?
    I 've found that we can mix JSF and Tiles, but can we use ADF Faces and Tiles together?
    Waiting for your answer!
    Thanking you ,
    Samba.

    Dear Experts,
    Please help me !
    As I could not get enough help from you masters,
    I set out to do on my own, hoping that at some time you would come to my rescue.
    I designed a simple jspx page SiteLayout.jspx whose code is given below:
    <?xml version='1.0' encoding='UTF-8'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:af="http://xmlns.oracle.com/adf/faces"
    xmlns:afh="http://xmlns.oracle.com/adf/faces/html"
    xmlns:c="http://java.sun.com/jstl/core"
    xmlns:tiles="http://jakarta.apache.org/struts/tags-tiles">
    <jsp:output omit-xml-declaration="true" doctype-root-element="HTML"
    doctype-system="http://www.w3.org/TR/html4/loose.dtd"
    doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"/>
    <jsp:directive.page contentType="text/html;charset=UTF-8"/>
    <f:view>
    <af:document>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    <title>SiteLayout</title>
    </head>
    <body>
    <h:form binding="#{backing_SiteLayout.form1}" id="form1">
    <af:table id="PageLayout" width="100%" >
    <!-- <tiles:getAsString name="title" /> -->
    <f:subview id="siteview">
    <tiles:insert definition="siteLayoutDef">
    <af:table id="headertable" width="100%">
    <tr>
    <td width="100%" colspan="2">
    <f:subview id="header">
    <tiles:insert attribute="header"/>
    </f:subview>
    </td>
    </tr>
    <tr>
    <td width="100%" colspan="2">
    <f:subview id="topview">
    <tiles:insert attribute="topmenu"/>
    </f:subview>
    </td>
    </tr>
    <tr>
    <td width="100%" colspan="2">
    <f:subview id="navigationview">
    <tiles:insert attribute="navigationbar"/>
    </f:subview>
    </td>
    </tr>
    <tr>
    <td width="30%">
    <f:subview id="leftview">
    <tiles:insert attribute="leftmenu"/>
    </f:subview>
    </td>
    <td width="70%">
    <f:subview id="contentview">
    </f:subview>
    <tiles:insert attribute="content"/>
    </td>
    </tr>
    <tr>
    <td width="100%" colspan="2">
    <f:subview id="footerview">
    <tiles:insert attribute="footer"/>
    </f:subview>
    </td>
    </tr>
    </af:table>
    </tiles:insert>
    </f:subview>
    </af:table>
    </h:form></body>
    </html>
    </af:document>
    </f:view>
    <!--oracle-jdev-comment:auto-binding-backing-bean-name:backing_SiteLayout-->
    </jsp:root>
    My SiteLayout.jspx defines the layout of the pages on my Web application.
    My Home page is this:
    <?xml version='1.0' encoding='UTF-8'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:afc="http://xmlns.oracle.com/adf/faces/webcache"
    xmlns:af="http://xmlns.oracle.com/adf/faces"
    xmlns:afh="http://xmlns.oracle.com/adf/faces/html"
    xmlns:afi="http://xmlns.oracle.com/adf/industrial/faces"
    xmlns:graph="/webapp/graph.tld"
    xmlns:c="http://java.sun.com/jstl/core"
    xmlns:tiles="http://jakarta.apache.org/struts/tags-tiles">
    <jsp:output omit-xml-declaration="true" doctype-root-element="HTML"
    doctype-system="http://www.w3.org/TR/html4/loose.dtd"
    doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"/>
    <jsp:directive.page contentType="text/html;charset=UTF-8"/>
    <f:view>
    <af:document>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    <title>Home</title>
    </head>
    <body>
    <!-- <tiles:getAsString name="title" ignore="true" /> -->
    <h:form binding="#{backing_Home.form1}" id="form1">
    <tiles:insert definition="siteLayoutDef" flush="false">
    <tiles:put name="header" value="/Header.jspx" />
    <tiles:put name="footer" value="/Footer.jspx" />
    <tiles:put name="leftmenu" value="/LeftMenu.jspx" />
    <tiles:put name="content" value="/Content.jspx" />
    <tiles:put name="header" value="/TopMenu.jspx" />
    <tiles:put name="footer" value="/NavigationBar.jspx" />
    </tiles:insert>
    </h:form>
    </body>
    </html>
    </af:document>
    </f:view>
    <!--oracle-jdev-comment:auto-binding-backing-bean-name:backing_Home-->
    </jsp:root>
    My <tiles-defs> page is this:
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/tiles-config_1_1.dtd">
    <tiles-definitions>
    <definition name="tiles-defs"/>
    <definition name="siteLayoutDef" path="/SiteLayout.jspx">
    <!--<put name="title" value="SiteBean.getQuoteofDay()" /> -->
    <put name="header" value="/header.jspx" />
    <put name="footer" value="/footer.jspx" />
    <put name="content" value=""/>
    <put name="topmenu" value="/TopMenu.jspx"/>
    <put name= "leftmenu" value="/LeftMenu.jspx"/>
    <put name="navigationbar" value="/NavigationBar.jspx"/>
    </definition>
    </tiles-definitions>
    My Web.xml is this:
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <web-app 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" xmlns="http://java.sun.com/xml/ns/j2ee">
    <description>Empty web.xml file for Web Application</description>
    <context-param>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>server</param-value>
    </context-param>
    <!-- Tiles ViewHandler config file -->      
    <context-param>      
    <description>Tiles configuration      
    definition files and a listener need to be defined.      
    the listener will initialize JspTilesViewHandlerImpl with tiles definitions.      
    </description>
    <param-name>tiles-definitions</param-name>      
    <param-value>/WEB-INF/tiles-defs.xml</param-value>      
    </context-param>
    <context-param>
    <param-name>javax.faces.CONFIG_FILES</param-name>
    <param-value>/WEB-INF/faces-config.xml, /WEB-INF/tiles-defs.xml</param-value>
    </context-param>
    <context-param>
    <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
    <param-value>.jspx</param-value>
    </context-param>
    <context-param>
    <param-name>oracle.adf.view.faces.ALTERNATE_VIEW_HANDLER</param-name>
    <param-value>
    org.apache.myfaces.tomahawk.application.jsp.JspTilesViewHandlerImpl
    </param-value>
    </context-param>
    <filter>
    <filter-name>adfFaces</filter-name>
    <filter-class>oracle.adf.view.faces.webapp.AdfFacesFilter</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>adfFaces</filter-name>
    <servlet-name>Faces Servlet</servlet-name>
    </filter-mapping>
    <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet>
    <servlet-name>resources</servlet-name>
    <servlet-class>oracle.adf.view.faces.webapp.ResourceServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>resources</servlet-name>
    <url-pattern>/adf/*</url-pattern>
    </servlet-mapping>
    <session-config>
    <session-timeout>35</session-timeout>
    </session-config>
    <servlet>
    <servlet-name>Tiles Servlet</servlet-name>
    <servlet-class>
    org.apache.struts.tiles.TilesServlet
    </servlet-class>
    <init-param>
    <param-name>definitions-config</param-name>
    <param-value>/WEB-INF/tiles-defs.xml</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
    </servlet>
    <mime-mapping>
    <extension>html</extension>
    <mime-type>text/html</mime-type>
    </mime-mapping>
    <mime-mapping>
    <extension>txt</extension>
    <mime-type>text/plain</mime-type>
    </mime-mapping>
    </web-app>
    The Error I'm getting is :
    IllegalStateException :No ADFRenderingContext;
    What happened?
    Where did I go wrong?
    could you please help me?
    Thanking you in advance,
    Waiting for your response,
    Samba.
    Message was edited by:
    saasira
    Message was edited by:
    saasira
    Message was edited by:
    saasira

  • Problem in using socket streams with encryption and decryption

    Hi,
    I am developing a client/server program with encryption and decryption at both end. While sending a message from client it should be encrypted and at the receiving end(server) it should be decrypted and vice versa.
    But while doing so i got a problem if i use both encryption and decryption at both ends. But If i use only encryption at one (only outputstream) and decryption at other end(only inputstream) there is no problem.
    Here is client/server pair of programs in which i am encrypting the outputstream of the socket in client side and decrypting the inputstream of the socket in server side.
    serverSocketDemo.java
    import java.io.*;
    import java.net.*;
    import java.security.*;
    import java.security.spec.*;
    import javax.crypto.*;
    import javax.crypto.spec.*;
    import java.util.*;
    import java.util.zip.*;
    class serverSocketDemo
         public static void main(String args[])
              try
              {                    //server listening on port 2000
                   ServerSocket server=new ServerSocket(2000);
                   while (true)
                        Socket theConnection=server.accept();
                        System.out.println("Connecting from local address : "+theConnection.getLocalAddress());
                        System.out.println("Connection request from : "+theConnection.getInetAddress());
                        //Input starts from here
                        Reader in=new InputStreamReader(getNetInStream(theConnection.getInputStream()),"ASCII");
                        StringBuffer strbuf=new StringBuffer();
                        int c;
                        while (true)
                             c=in.read();
                             if(c=='\n' || c==-1)
                                  break;
                             strbuf.append((char)c);     
                        String str=strbuf.toString();
                        System.out.println("Message from Client : "+str);
                        in.close();               
                        theConnection.close();
              catch(BindException e)
                   System.out.println("The Port is in use or u have no privilage on this port");
              catch(ConnectException e)
                   System.out.println("Connection is refused at remote host because the host is busy or no process is listening on that port");
              catch(IOException e)
                   System.out.println("Connection disconnected");          
              catch(Exception e)
         public static BufferedInputStream getNetInStream(InputStream in) throws Exception
              // register the provider that implements the algorithm
              Provider sunJce = new com.sun.crypto.provider.SunJCE( );
              Security.addProvider(sunJce);
              // create a key
              byte[] desKeyDataDec = "This encryption can not be decrypted".getBytes();
              DESKeySpec desKeySpecDec = new DESKeySpec(desKeyDataDec);
              SecretKeyFactory keyFactoryDec = SecretKeyFactory.getInstance("DES");
              SecretKey desKeyDec = keyFactoryDec.generateSecret(desKeySpecDec);
              // use Data Encryption Standard
              Cipher desDec = Cipher.getInstance("DES");
              desDec.init(Cipher.DECRYPT_MODE, desKeyDec);
              CipherInputStream cin = new CipherInputStream(in, desDec);
              BufferedInputStream bin=new BufferedInputStream(new GZIPInputStream(cin));
              return bin;
    clientSocketDemo.java
    import java.io.*;
    import java.net.*;
    import java.security.*;
    import java.security.spec.*;
    import javax.crypto.*;
    import javax.crypto.spec.*;
    import java.util.*;
    import java.util.zip.*;
    class clientSocketDemo
         public static void main(String args[])
              try
                   Socket theConnection=new Socket("localhost",2000);
                   System.out.println("Connecting from local address : "+theConnection.getLocalAddress());
                   System.out.println("Connecting to : "+theConnection.getInetAddress());
                   //Output starts from here               
                   OutputStream out=getNetOutStream(theConnection.getOutputStream());
                   out.write("Please Welcome me\n".getBytes());
                   out.flush();
                   out.close();
                   theConnection.close();
              catch(BindException e)
                   System.out.println("The Port is in use or u have no privilage on this port");
              catch(ConnectException e)
                   System.out.println("Connection is refused at remote host because the host is busy or no process is listening on that port");
              catch(IOException e)
                   System.out.println("Connection disconnected");          
              catch(Exception e)
         public static OutputStream getNetOutStream(OutputStream out) throws Exception
              // register the provider that implements the algorithm
              Provider sunJce = new com.sun.crypto.provider.SunJCE( );
              Security.addProvider(sunJce);
              // create a key
              byte[] desKeyDataEnc = "This encryption can not be decrypted".getBytes();
              DESKeySpec desKeySpecEnc = new DESKeySpec(desKeyDataEnc);
              SecretKeyFactory keyFactoryEnc = SecretKeyFactory.getInstance("DES");
              SecretKey desKeyEnc = keyFactoryEnc.generateSecret(desKeySpecEnc);
              // use Data Encryption Standard
              Cipher desEnc = Cipher.getInstance("DES");
              desEnc.init(Cipher.ENCRYPT_MODE, desKeyEnc);
              CipherOutputStream cout = new CipherOutputStream(out, desEnc);
              OutputStream outstream=new BufferedOutputStream(new GZIPOutputStream(cout));
              return outstream;
    Here is client/server pair in which i use both encrypting outpustream and decrypting inputstream at both ends.
    serverSocketDemo.java
    import java.io.*;
    import java.net.*;
    import java.security.*;
    import java.security.spec.*;
    import javax.crypto.*;
    import javax.crypto.spec.*;
    import java.util.*;
    import java.util.zip.*;
    class serverSocketDemo
         private Cipher desEnc,desDec;
         serverSocketDemo()
              try
                   // register the provider that implements the algorithm
                   Provider sunJce = new com.sun.crypto.provider.SunJCE( );
                   Security.addProvider(sunJce);
                   // create a key
                   byte[] desKeyData = "This encryption can not be decrypted".getBytes();
                   DESKeySpec desKeySpec = new DESKeySpec(desKeyData);
                   SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
                   SecretKey desKey = keyFactory.generateSecret(desKeySpec);
                   desEnc = Cipher.getInstance("DES");
                   desEnc.init(Cipher.ENCRYPT_MODE, desKey);
                   desDec = Cipher.getInstance("DES");
                   desDec.init(Cipher.DECRYPT_MODE, desKey);               
              catch (javax.crypto.NoSuchPaddingException e)
                   System.out.println(e);          
              catch (java.security.NoSuchAlgorithmException e)
                   System.out.println(e);          
              catch (java.security.InvalidKeyException e)
                   System.out.println(e);          
              catch(Exception e)
                   System.out.println(e);
              startProcess();
         public void startProcess()
              try
                   ServerSocket server=new ServerSocket(2000);
                   while (true)
                        final Socket theConnection=server.accept();
                        System.out.println("Connecting from local address : "+theConnection.getLocalAddress());
                        System.out.println("Connection request from : "+theConnection.getInetAddress());
                        Thread input=new Thread()
                             public void run()
                                  try
                                       //Input starts from here
                                       Reader in=new InputStreamReader(new BufferedInputStream(new CipherInputStream(theConnection.getInputStream(), desDec)),"ASCII");
                                       StringBuffer strbuf=new StringBuffer();
                                       int c;
                                       while (true)
                                            c=in.read();
                                            if(c=='\n'|| c==-1)
                                                 break;
                                            strbuf.append((char)c);     
                                       String str=strbuf.toString();
                                       System.out.println("Message from Client : "+str);
                                  catch(Exception e)
                                       System.out.println("Error caught inside input Thread : "+e);
                        input.start();
                        Thread output=new Thread()
                             public void run()
                                  try
                                       //Output starts from here
                                       OutputStream out=new BufferedOutputStream(new CipherOutputStream(theConnection.getOutputStream(), desEnc));
                                       System.out.println("it will not be printed");
                                       out.write("You are Welcome\n".getBytes());
                                       out.flush();
                                  catch(Exception e)
                                       System.out.println("Error caught inside output Thread : "+e);
                        output.start();
                        try
                             output.join();
                             input.join();
                        catch(Exception e)
                        theConnection.close();
              catch(BindException e)
                   System.out.println("The Port is in use or u have no privilage on this port");
              catch(ConnectException e)
                   System.out.println("Connection is refused at remote host because the host is busy or no process is listening on that port");
              catch(IOException e)
                   System.out.println("Connection disconnected");          
              catch(Exception e)
         public static void main(String args[])
              serverSocketDemo server=new serverSocketDemo();          
    clientSocketDemo.java
    import java.io.*;
    import java.net.*;
    import java.security.*;
    import java.security.spec.*;
    import javax.crypto.*;
    import javax.crypto.spec.*;
    import java.util.*;
    import java.util.zip.*;
    class clientSocketDemo
         private Cipher desEnc,desDec;
         clientSocketDemo()
              try
                   // register the provider that implements the algorithm
                   Provider sunJce = new com.sun.crypto.provider.SunJCE( );
                   Security.addProvider(sunJce);
                   // create a key
                   byte[] desKeyData = "This encryption can not be decrypted".getBytes();
                   DESKeySpec desKeySpec = new DESKeySpec(desKeyData);
                   SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
                   SecretKey desKey = keyFactory.generateSecret(desKeySpec);
                   desEnc = Cipher.getInstance("DES");
                   desDec = Cipher.getInstance("DES");
                   desEnc.init(Cipher.ENCRYPT_MODE, desKey);
                   desDec.init(Cipher.DECRYPT_MODE, desKey);               
              catch (javax.crypto.NoSuchPaddingException e)
                   System.out.println(e);          
              catch (java.security.NoSuchAlgorithmException e)
                   System.out.println(e);          
              catch (java.security.InvalidKeyException e)
                   System.out.println(e);          
              catch(Exception e)
                   System.out.println(e);
              startProcess();
         public void startProcess()
              try
                   final Socket theConnection=new Socket("localhost",2000);
                   System.out.println("Connecting from local address : "+theConnection.getLocalAddress());
                   System.out.println("Connecting to : "+theConnection.getInetAddress());
                   Thread output=new Thread()
                        public void run()
                             try
                                  //Output starts from here               
                                  OutputStream out=new BufferedOutputStream(new CipherOutputStream(theConnection.getOutputStream(), desEnc));
                                  out.write("Please Welcome me\n".getBytes());
                                  out.flush();
                             catch(Exception e)
                                  System.out.println("Error caught inside output thread : "+e);
                   output.start();     
                   Thread input=new Thread()
                        public void run()
                             try
                                  //Input starts from here
                                  Reader in=new InputStreamReader(new BufferedInputStream(new CipherInputStream(theConnection.getInputStream(), desDec)),"ASCII");          
                                  System.out.println("it will not be printed");
                                  StringBuffer strbuf=new StringBuffer();
                                  int c;
                                  while (true)
                                       c=in.read();
                                       if(c=='\n' || c==-1)
                                            break;
                                       strbuf.append((char)c);     
                                  String str=strbuf.toString();
                                  System.out.println("Message from Server : "+str);
                             catch(Exception e)
                                  System.out.println("Error caught inside input Thread : "+e);
                   input.start();
                   try
                        output.join();
                        input.join();
                   catch(Exception e)
                   theConnection.close();
              catch(BindException e)
                   System.out.println("The Port is in use or u have no privilage on this port");
              catch(ConnectException e)
                   System.out.println("Connection is refused at remote host because the host is busy or no process is listening on that port");
              catch(IOException e)
                   System.out.println("Connection disconnected");          
              catch(Exception e)
         public static void main(String args[])
              clientSocketDemo client=new clientSocketDemo();     
    **** I know that the CInput tries to read some header stuff thats why i used two threads for input and output.
    Waiting for the reply.
    Thank you.

    Do not ever post your code unless requested to. It is very annoying.
    Try testing what key is being used. Just to test this out, build a copy of your program and loop the input and outputs together. Have them print the data stream onto the screen or a text file. Compare the 1st Output and the 2nd Output and the 1st Input with the 2nd Input and then do a static test of the chipher with sample data (same data which was outputted), then do another cipher test with the ciphertext created by the first test.
    Everything should match - if it does not then follow the steps below.
    Case 1: IO Loops do not match
    Case 2: IO Loops match, but ciphertext 1st run does not match loop
    Case 3: IO Loops match, 1st ciphertext 1st run matches, but 2nd run does not
    Case 4: IO Loops match, both chiphertext runs do not match anything
    Case 5: Ciphertext runs do not match eachother when decrypted correctly (outside of the test program)
    Problems associated with the cases above:
    Case 1: Private Key is changing on either side (likely the sender - output channel)
    Case 2: Public Key is changing on either side (likely the sender - output channel)
    Case 3: Private Key changed on receiver - input channel
    Case 4: PKI failure, causing private key and public key mismatch only after a good combination was used
    Case 5: Same as Case 4

  • Using OleDbDataAdapter Update with InsertCommands and getting blocking locks on Oracle table

    The following code snippet shows the use of OleDbDataAdapter with InsertCommands.  This code is producing many inserts on the Oracle table and is now suffering from contention... all on the same table.  How does the OleDbDataAdapter produce
    inserts from a dataset... what characteristics do these inserts inherent in terms of batch behavior... or do they naturally contend for the same resource. 
    oc.Open();
    for (int i = 0; i < xImageId.Count; i++)
    // Create the oracle adapter using a SQL which will not return any actual rows just the structure
    OleDbDataAdapter da =
       new OleDbDataAdapter("SELECT BUSINESS_UNIT, INVOICE, ASSIGNMENT_ID, END_DT, RI_TIMECARD_ID, IMAGE_ID, FILENAME, BARCODE_LABEL_ID, " +
       "DIRECT_INVOICING, EXCLUDE_FLG, DTTM_CREATED, DTTM_MODIFIED, IMAGE_DATA, PROCESS_INSTANCE FROM sysadm.PS_RI_INV_PDF_MERG WHERE 1 = 2", oc);
    // Create a data set
    DataSet ds = new DataSet("documents");
    da.Fill(ds, "documents");
    // Loop through invoices and write to oracle
    string[] sInvoices = invoiceNumber.Split(',');
    foreach (string sInvoice in sInvoices)
        // Create a data set row
        DataRow dr = ds.Tables["documents"].NewRow();
        ... map the data
        // Populate the dataset
        ds.Tables["documents"].Rows.Add(dr);
    // Create the insert command
    string insertCommandText =
        "INSERT /*+ append */ INTO PS_table " +
        "(SEQ_NBR, BUSINESS_UNIT, INVOICE, ASSIGNMENT_ID, END_DT, RI_TIMECARD_ID, IMAGE_ID, FILENAME, BARCODE_LABEL_ID, DIRECT_INVOICING, " +
        "EXCLUDE_FLG, DTTM_CREATED, DTTM_MODIFIED, IMAGE_DATA, PROCESS_INSTANCE) " +
        "VALUES (INV.nextval, :BUSINESS_UNIT, :INVOICE, :ASSIGNMENT_ID, :END_DT, :RI_TIMECARD_ID, :IMAGE_ID, :FILENAME,  " +
        ":BARCODE_LABEL_ID, :DIRECT_INVOICING, :EXCLUDE_FLG, :DTTM_CREATED, :DTTM_MODIFIED, :IMAGE_DATA, :PROCESS_INSTANCE)";
    // Add the insert command to the data adapter
    da.InsertCommand = new OleDbCommand(insertCommandText);
    da.InsertCommand.Connection = oc;
    // Add the params to the insert
    da.InsertCommand.Parameters.Add(":BUSINESS_UNIT", OleDbType.VarChar, 5, "BUSINESS_UNIT");
    da.InsertCommand.Parameters.Add(":INVOICE", OleDbType.VarChar, 22, "INVOICE");
    da.InsertCommand.Parameters.Add(":ASSIGNMENT_ID", OleDbType.VarChar, 15, "ASSIGNMENT_ID");
    da.InsertCommand.Parameters.Add(":END_DT", OleDbType.Date, 0, "END_DT");
    da.InsertCommand.Parameters.Add(":RI_TIMECARD_ID", OleDbType.VarChar, 10, "RI_TIMECARD_ID");
    da.InsertCommand.Parameters.Add(":IMAGE_ID", OleDbType.VarChar, 8, "IMAGE_ID");
    da.InsertCommand.Parameters.Add(":FILENAME", OleDbType.VarChar, 80, "FILENAME");
    da.InsertCommand.Parameters.Add(":BARCODE_LABEL_ID", OleDbType.VarChar, 18, "BARCODE_LABEL_ID");
    da.InsertCommand.Parameters.Add(":DIRECT_INVOICING", OleDbType.VarChar, 1, "DIRECT_INVOICING");
    da.InsertCommand.Parameters.Add(":EXCLUDE_FLG", OleDbType.VarChar, 1, "EXCLUDE_FLG");
    da.InsertCommand.Parameters.Add(":DTTM_CREATED", OleDbType.Date, 0, "DTTM_CREATED");
    da.InsertCommand.Parameters.Add(":DTTM_MODIFIED", OleDbType.Date, 0, "DTTM_MODIFIED");
    da.InsertCommand.Parameters.Add(":IMAGE_DATA", OleDbType.Binary, System.Convert.ToInt32(filedata.Length), "IMAGE_DATA");
    da.InsertCommand.Parameters.Add(":PROCESS_INSTANCE", OleDbType.VarChar, 10, "PROCESS_INSTANCE");
    // Update the table
    da.Update(ds, "documents");

    Here is what Oracle is showing as blocking locks and the SQL that has been identified with each of the SIDS.  Not sure why there is contention.  There are no triggers or joined tables in this piece of code.
    Here is the SQL all of the SIDs below are running:
    INSERT INTO sysadm.PS_RI_INV_PDF_MERG (SEQ_NBR, BUSINESS_UNIT, INVOICE, ASSIGNMENT_ID, END_DT, RI_TIMECARD_ID, IMAGE_ID, FILENAME, BARCODE_LABEL_ID, DIRECT_INVOICING, EXCLUDE_FLG, DTTM_CREATED, DTTM_MODIFIED, IMAGE_DATA, PROCESS_INSTANCE) VALUES (SYSADM.INV_PDF_MERG.nextval,
    :BUSINESS_UNIT, :INVOICE, :ASSIGNMENT_ID, :END_DT, :RI_TIMECARD_ID, :IMAGE_ID, :FILENAME, :BARCODE_LABEL_ID, :DIRECT_INVOICING, :EXCLUDE_FLG, :DTTM_CREATED, :DTTM_MODIFIED, :IMAGE_DATA, :PROCESS_INSTANCE)
    SID 1452 (BTSUSER,BIZTPRDI,BTSNTSvc64.exe) in instance FSLX1 is blocking SID 1150 (BTSUSER,BIZTPRDI,BTSNTSvc64.exe) in instance FSLX1
    SID 1452 (BTSUSER,BIZTPRDI,BTSNTSvc64.exe) in instance FSLX1 is blocking SID 1452 (BTSUSER,BIZTPRDI,BTSNTSvc64.exe) in instance FSLX1
    SID 1452 (BTSUSER,BIZTPRDI,BTSNTSvc64.exe) in instance FSLX1 is blocking SID 1156 (BTSUSER,biztprdi,BTSNTSvc64.exe) in instance FSLX3
    SID 1452 (BTSUSER,BIZTPRDI,BTSNTSvc64.exe) in instance FSLX1 is blocking SID 6 (BTSUSER,BIZTPRDI,BTSNTSvc64.exe) in instance FSLX2
    SID 1452 (BTSUSER,BIZTPRDI,BTSNTSvc64.exe) in instance FSLX1 is blocking SID 1726 (BTSUSER,BIZTPRDI,BTSNTSvc64.exe) in instance FSLX2
    SID 1452 (BTSUSER,BIZTPRDI,BTSNTSvc64.exe) in instance FSLX1 is blocking SID 2016 (BTSUSER,biztprdi,BTSNTSvc64.exe) in instance FSLX2

Maybe you are looking for

  • Parsing short string of xml

    ive been having a terrible time trying to find out how to parse just a short XML string. for example: <action name="setColor">black</setProperty> how should I go about parsing it and extracting attributes/textnodes? none of the xml strings will be mo

  • Volume keys

    Hi I have an imac g4 running leopard. I use an old imac g3 keyboard with it and i want to be able to adjust the volume with f3 f4 etc. i can change the brightness with the keyboard but i cant find how to enable the volume controls. Anyone know how i

  • Some of my highlights are working but others aren't.

    I am very new to encore and have been picking up little bits here and there from online tutorials. I have created my own menu using Photoshop CC with rectangle highlights using the (=1) and layer titles. When I have opened the menu in Encore, 3 of my

  • Subcontracting Challan printing after reconciliation (status assigned)

    Hi, My requirement is to reprint the subcontracting challan after reconciliation (status assigned). To reprint the challan we use the tcode j1if11 and tick print immediately. Spool is generated and we are taking printout. But since the challan is rec

  • Synching a 3rd Gen iPod?

    I have a 3rd gen iPod (dock-to-firewire cable).  Can I use the dock-to-usb cable from my newer iPod classic (or the one from my iPad) to sync my 3rd gen iPod with my new computer (with no firewire port)?  I know I can't charge my 3rd gen via usb -- I