FindByViewCriteria and paging
I'm working with JDeveloper 10.1.3.3 and oracle.BC4J Version 10.1.3.41.57. In our web application I have used findByViewCriteria several times and it worked perfectly. Recently I had to change one of the view objects where I used this method to paging because the number of records became too large to show them in a web page.
I changed my statement from
rs = (RowSet)vo.findByViewCriteria(vc, -1,
ViewObject.QUERY_MODE_SCAN_VIEW_ROWS);
to
rs = (RowSet)vo.findByViewCriteria(vc, -1,
ViewObject.QUERY_MODE_SCAN_DATABASE_TABLES);
in the meaning that this would query all records instead of only the fetched ones.
But this is not the case. If I search within a rowset that is not paged or when I search within the rows that are already fetched it works. But if I want to find rows that are not yet fetched than I get back null.
Did I misunderstand QUERY_MODE_SCAN_DATABASE_TABLES?
Does findByViewCriteria make always an in memory search which means that it is pretty useless with paging?
Or is this a bug?
Silvia Rothen
1) that would really depend on you goals. for performance only, stored procedures are precompiled so should be faster.
2) definitely you should only select what you want and limiting the number of rows you return will speed up your query.
3) what do you mean by that? a recordset represents the collection of rows returned from the query so should help you.
4) it depends on your database. for instance, MySQL has a function to return the number of rows returned. however, some database has an unbuffered mode so that the first few rows will be returned very quickly without knowing how many rows are there, in which case, you won't know the number of rows until all the rows have been retrieved.
5 and 6 are database-dependent, while most rdbms only lock the selected rows by default, some lock the entire table.
Java 2 MVP
http://www.brainbench.com
Similar Messages
-
SAP ECC6 memory and paging issues
Dear Experts
I have recently upgraded my 4.6C systems to an ECC 6 system (DB2 LUW 9.5 on AIX 5.3 TL9 64 Bit OS)
I have been running the LPAR with 14 GB of memory and we are around 100-200+ users using the system, I was monitoring using nmon and found that Physical Memory was around 99.8% Used (14311.8MB and 22.6MB was free) also the paging space was around 37.2% in result causing the system at times to run slow which can have a very negative effect on the users.
After further investigation I found that after a system restart the Physical Memory would start around 50.9% and increased at a steady pace until it reached 99.8% that is when the system would start using the paging space which would steadily increase, I found that the only solution was a system restart at least once a week to reduce the memory consumption.
At first glance it looked like a database manger memory leak with the process db2sysc, so I searched the net with the search words u201Cdb2 memory leaku201D and found the following APARs and notes.
APAR JR30285 - Pervasive memory leak when compiling SQL statements that use SQL/XML functions
APAR IZ35230 - There is a pervasive unix-specific private memory leak in the security component
Note 1288341 - Memory leak in APPLHEAPSZ -> SQL0954C
Note 1352361 - Memory leak in shared memory area abrfci
Note 1147821 - DB6: Known Errors and available Fixes in DB2 9.5 LUW
After reading the notes and APARs I decided to updated DB2 to the latest fix pack (5SAP), but after the fix pack was implemented it did not solve the memory problem
I started look at different problems with SAP ECC6, db2 and AIX with paging/memory problems and I found the following notes to do with AIX memory and paging but none of them helped as all parameters and settings were set accordingly
789477 - Large extended memory on AIX (64-bit) as of Kernel 6.20
191801 - AIX 64-bit with very large amount of Extended Memory
973227 - AIX Virtual Memory Management: Tuning Recommendations
884393 - AIX saposcol consumes large amount of memory.
856848 u2013 AIX Extended Memory Disclaiming
1048686 u2013 Recommended AIX settings for SAP
1121904 u2013 SAP on AIX: Recommendations for Paging
1086130 u2013 DB6: DB2 Standard Parameter Settings
After even more investigation I found the following evidence suggesting AIX Virtual Memory Manager might have a problemShared memories inside of pool 40
Key: 42 Size: 17792992 ( 17.0 MB) DB TTAB buffer
Key: 43 Size: 53606392 ( 51.1 MB) DB FTAB buffer
Key: 44 Size: 8550392 ( 8.2 MB) DB IREC buffer
Key: 45 Size: 7014392 ( 6.7 MB) DB short nametab buffer
Key: 46 Size: 20480 ( 0.0 MB) DB sync table
Key: 47 Size: 10241024 ( 9.8 MB) DB CUA buffer
Key: 48 Size: 300000 ( 0.3 MB) Number range buffer
Key: 49 Size: 2769392 ( 2.6 MB) Spool admin (SpoolWP+DiaWP)
Shared memories outside of pools
Key: 3 Size: 114048000 ( 108.8 MB) Disp. communication areas
Key: 4 Size: 523048 ( 0.5 MB) statistic area
Key: 6 Size: 692224000 ( 660.2 MB) ABAP program buffer
Key: 7 Size: 14838 ( 0.0 MB) Update task administration
Key: 8 Size: 134217828 ( 128.0 MB) Paging buffer
Key: 9 Size: 134217828 ( 128.0 MB) Roll buffer
Key: 18 Size: 1835108 ( 1.7 MB) Paging adminitration
Key: 19 Size: 119850000 ( 114.3 MB) Table-buffer
Key: 41 Size: 25010000 ( 23.9 MB) DB statistics buffer
Key: 63 Size: 409600 ( 0.4 MB) ICMAN shared memory
Key: 64 Size: 4202496 ( 4.0 MB) Online Text Repository Buf.
Key: 65 Size: 4202496 ( 4.0 MB) Export/Import Shared Memory
Key: 1002 Size: 400000 ( 0.4 MB) Performance monitoring V01.0
Key: 58900114 Size: 4096 ( 0.0 MB) SCSA area
Nr of operating system shared memory segments: 16
Shared memory resource requirements estimated
================================================================
Total Nr of shared segments required.....: 16
System-imposed number of shared memories.: 1000
Shared memory segment size required min..: 692224000 ( 660.2 MB)
System-imposed maximum segment size......: 35184372088832 (33554432.0 MB)
Swap space requirements estimated
================================================
Shared memory....................: 1654.8 MB
..in pool 10 328.6 MB, 58% used
..in pool 40 143.3 MB, 30% used
..not in pool: 1174.1 MB
Processes........................: 413.4 MB
Extended Memory .................: 6144.0 MB
Total, minimum requirement.......: 8212.2 MB
Process local heaps, worst case..: 3814.7 MB
Total, worst case requirement....: 21882.9 MB
Errors detected..................: 0
Warnings detected................: 3 -
Database Listing And Paging With Flash Builder
Hello ;
i trying to develop an android application with flash builder.
i have a database and connected it, selected a table and created a service.
my table have a four coloumn. id - img - tag - date
id : as you know. table id coloumn auto increment.
img : long text area. i want to listed to page when clicking the menu item.
tag : tag is title of the img.
date : standart date coloumn.
i want to listing all data with menu style. i added to spinner list and it get to value at database tag (title) .
how can i listing to text (long text area) in to the img coloumn when selected the tag (title) at spinner list.
thanks
bye.i researched a many document but still can't find a insert data grid.
it seems to under Components Panel all documents and videos
but i can't see it?
Anirudh SasikumarRangoraTodd_KoprivaJason San JoseSunilAdobeAmy_WongDatabase Listing And Paging With Flash BuilderUsing Flash BuilderFlex
somebody help me please?
thanks
bye -
Paging over phones and paging horns in CME
Hi all!
Cisco CME provides mechanisms for paging across phones with ephone-dn configurations, and paging across external paging systems that are connected to either FXS or FXO ports via dial-peer configurations. I have done these numerous times.
Recently I've been receiving requests to be able to dial a single paging extension and have the page go out across the phones and the horns/paging controller simultaneously. Has anyone been able to do this, and would you share the info please?
Thanks in advance,
KevinHi,
As per the doc that i shared "InformaCast has no special requirements for how multicast is enabled, and you should use your network vendor’s best practices and design considerations. Multicast is typically routed with Protocol Independent Multicast (PIM) that is deployed in either sparse or dense mode. InformaCast will work with either mode.
For WAN links where your circuit provider will not route your multicast, you can configure GRE tunnels, which carry your multicast traffic from the location where the InformaCast server is located to its recipients. The only traffic that needs to traverse these GRE tunnels is the multicast traffic you might want to route. The tunnels do not need to create a full mesh between sites; they only need to be configured from the hub location to the spoke location(s). Please see the following link for details:
http://www.cisco.com/en/US/tech/tk828/technologies_configuration_example09186a00801a5aa2.shtml
For recipients to receive the audio portion of InformaCast broadcasts, they make requests using Internet Group Management Protocol (IGMP). While most networks default to IGMPv2, newer recipients may use IGMPv3. If newer recipients are being deployed, be sure to enable the newer protocol version on network devices."
HTH
Manish -
How do we keep items in the LCDS data services cache independent between user sessions? If I use session in the destination, I can still update an item in one users cache and have it change another users item (if the identity attribute is the same).
Another way to look at this question is that we want to use the data management services to enable dynamic loading and paging of large sets of data. We don't want to utilize it for data management between sessions.
Thanks.
tjHave you seen the part of the example configs where it talks
about what is required for data paging to work?
<!--
Indicates whether data paging is enabled for the destination
and if you wish to override the
pageSize set for the channel.
Setting the custom flag to true indicates that the
associated assembler has a paged-fill method
corresponding to each method specified via the
<fill-mathod> tag. The paged-fill method
should have two additional java.lang.Integer params at the
end of the parameters specified
via the <params> tag. The first param specifes the
index in the fill collection from which this
method will start retrieving records. And the second param
specifies the number of records to be
retrieved by each paged-fill call.
Default enabled value is false. Default pageSize value is
10. Default custom value is false.
<paging enabled="true" pageSize="5" custom="true"/>
-->
It seems to imply to me that you need the paged fill methods
in your config in addition to the regular ones.
I admit I have not got as far as getting a working paging
setup yet, although this is something I will need to get working in
the near future. -
Hi,
i have the following doubts regarding the jdbc and paging please clarify me...
1)Is it advisable to use stored procedure to implement paging is records
are more in database
2)If the records are more in the database and we execute
select * from table where id >10 and id<15 then will
the query execution will be slow because the database is large(and so stored procedure will be faster)
or as we are selecting only records between 10 and 15 so the
query execution is not slow
3)will the recordset help in solving the probem
4)is there a way to select the count of the records along with the records for display in the page
the count of the records is required to display the next button
if two queries are to be written one to display the next button and second to get the records to
display on the page then the system may be slow when many users are accessing and using stored
procedures may be better
5)when we write the select query with 'for update' clause then the row will be locked
or the table is locked .
6)when we write the select query with 'for update' clause then until we execute the update
query the lock will be there and the lock will be released on executing the update query
is that right then what about the case if after the select query we get some exception
and code does not reach the update query then what about the lock will be lock remain
and give problem
regards
Javid1) that would really depend on you goals. for performance only, stored procedures are precompiled so should be faster.
2) definitely you should only select what you want and limiting the number of rows you return will speed up your query.
3) what do you mean by that? a recordset represents the collection of rows returned from the query so should help you.
4) it depends on your database. for instance, MySQL has a function to return the number of rows returned. however, some database has an unbuffered mode so that the first few rows will be returned very quickly without knowing how many rows are there, in which case, you won't know the number of rows until all the rows have been retrieved.
5 and 6 are database-dependent, while most rdbms only lock the selected rows by default, some lock the entire table.
Java 2 MVP
http://www.brainbench.com -
Difference between swap-ing and paging
I wander what is difference between swap-ing and paging. What are pages-out and what are pages in(in transaction st06)
HI
The following link may also be useful.
http://learnlinux.tsf.org.za/courses/build/internals/ch05s03.html
Regards
Chen -
I know in SAP's world, memory means physical memory + paging. I want to know which program has contribution for swap.
Suppose there is 4G physical memory on an application server, em/initial_size_MB = 4G, abap/heap_area_nondia = 4G.
1) If there is no dialog processor running and one background job running which claims 2G memory, I want to know will swap occur?
2) If there is one dialog processor running which claims 2G memory and one background job running which claims 2G memory, will swap occur?By ST03N you can check the workload, by OS06 the swap .
By transaction ST02 you can check the folllowing parameters:
SAP Roll area parameters
- ztta/roll_first : First amount of roll area used in a dialog WP
- ztta/roll_area : size of the local SAP Roll area in the work process
rdisp/ROLL_SHM : size of SAP roll Buffer
rdisp/ROLL_MAXFS : size of entire shared SAP roll area
SAP Extended Memory main parameters :
em/initial_size_MB : size of SAP extended memory allocated when the SAP instance starts up
em/blocksize_KB : size block which split SAP Extended Memory
ztta/roll_extension : maximum size of a user context in the SAP Extended memory
SAP Heap Memory main parameters :
abap/heap_area_dia : quotas oh SAP heap memory that a dialog process can allocated.
abap/heap_area_nondia : quotas oh SAP heap memory that a nondialog process can allocated.
abap/heap_area_total : size that can be allocated in total by all work process.
abap/heaplimit : Workprocess restart limit of heap memory
if helpful reward point is appreciated -
Search Results Web Part, Managed Navigation and Paging
I am using managed navigation and have a search results web part that uses the Term.IdWithChildren as the query to filter the results by the selected navigation term. This works nicely until you need to us the paging. As soon as you go to the next page there are
no results.
It would appear that as soon as the URL has the #k=#s=11 added it looses the navigation term. This is a core part of the Sharepoint solution that I'm delivering and I cannot progress this any further and I'm going round in circles. I have another results
page that has the search results webpart on but doesn't use the navigation term filtering and the paging works fine.
As an alternative I was looking at writing my own search results web part, can I do this and render the sharepoint display templates somehow?
Any help would be appreciated.
StuartHi Stuart,
i suppose you may need to check your design regarding this custom coding,
as i know, when i tried previously, i didn't take any attention on the query result, so that it appear as no result.
please have a check this links, it helped me once,
http://technet.microsoft.com/en-us/library/gg549981.aspx
http://social.technet.microsoft.com/Forums/sharepoint/en-US/59e6e258-294d-44b2-996a-547e4e9f519d/customize-search-statistics-and-search-paging-web-parts
http://kamilmka.wordpress.com/2012/04/14/customize-sharepoint-search-results-paging/http://blogs.msdn.com/b/sanjaynarang/archive/2009/02/20/handling-paging-and-total-results-count-in-sharepoint-custom-results-page.aspx
Regards,
Aries
Microsoft Online Community Support
Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread. -
ROWNUM, Cursor, and Paged Reports
I am using ASP against a Oracle 8i DB in a web application. I have some large reports (approx 2,000 records) that I need to display on the site in a paged style report. i.e. 25 records on page 1, 26-50 on page 2, etc...... Much like you see here at OTN in the forums.
The problem is that when I go through the the ADO to build my recordset against the DB, I need to be able to select just a certain set of rownumbers. I will also need to be able to reorder the report based on client response. I know that the ROWNUM psudeofield is filled before any sort criteria is applied through the order by clause. So if I select against the view, how will I tell it to give me the next set of records that will make up my page. A oracle book I have says to use the cursor object to do this, but I am not really familiar with that, and from what I can see, it still didn't tell me how to select just a small part of the overall recordset that might be returned to the cursor by the SQL statement.
Does any of this make sense? And if so, can someone please point me to a good source of information on how to do this. I know it has to be possible, becuase sites have that ability all over the place, but as I might be changing from ASP to JSP soon, I don't really want to do it all in code,becuase then I have to rewrite that as well. Doing this on the database is really my only good option.Here is an example, that uses the Oracle emp demo table to demonstrate how to use a ref cursor to return a result set ordered by whatever columns you want and get any set of rows you want. In the example, I first ordered by the empno column and retrieved the first 10 rows, then the next set of 10 rows (there are only 14 rows, so it just displays 4 more rows). Then I ordered by the ename column and retrieved 5 rows at a time. You can specify any number or combination of columns and any starting or ending rows you want.
SQL> CREATE OR REPLACE PACKAGE package_name
2 AS
3 TYPE cursor_type IS REF CURSOR;
4 PROCEDURE procedure_name
5 (p_result_set IN OUT cursor_type,
6 p_order_by IN VARCHAR2,
7 p_start_row IN NUMBER,
8 p_end_row IN NUMBER);
9 END package_name;
10 /
Package created.
SQL> CREATE OR REPLACE PACKAGE BODY package_name
2 AS
3 PROCEDURE procedure_name
4 (p_result_set IN OUT cursor_type,
5 p_order_by IN VARCHAR2,
6 p_start_row IN NUMBER,
7 p_end_row IN NUMBER)
8 IS
9 v_sql VARCHAR2 (4000);
10 BEGIN
11 v_sql :=
12 'SELECT *'
13 || ' FROM (SELECT ROWNUM AS r, a.*'
14 || ' FROM (SELECT * '
15 || ' FROM emp'
16 || ' ORDER BY ' || p_order_by || ') a'
17 || ' WHERE ROWNUM <= :p_end_row )'
18 || ' WHERE r >= :p_start_row';
19 OPEN p_result_set FOR v_sql USING p_end_row, p_start_row;
20 END procedure_name;
21 END package_name;
22 /
Package body created.
SQL> SET LINESIZE 125
SQL> VARIABLE g_ref REFCURSOR
SQL> -- to get first ten rows ordered by empno:
SQL> EXEC package_name.procedure_name (:g_ref, 'EMPNO', 1, 10)
PL/SQL procedure successfully completed.
SQL> PRINT g_ref
R EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
1 7369 SMITH CLERK 7902 17-DEC-80 800 20
2 7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
3 7521 WARD SALESMAN 7698 22-FEB-81 1250 505.07 30
4 7566 JONES MANAGER 7839 02-APR-81 2975 20
5 7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
6 7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7 7782 CLARK MANAGER 7839 09-JUN-81 2450 10
8 7788 SCOTT ANALYST 7566 09-DEC-82 3000 20
9 7839 KING PRESIDENT 17-NOV-81 5000 10
10 7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
10 rows selected.
SQL> -- to get second ten rows ordered by empno:
SQL> EXEC package_name.procedure_name (:g_ref, 'EMPNO', 11, 20)
PL/SQL procedure successfully completed.
SQL> PRINT g_ref
R EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
11 7876 ADAMS CLERK 7788 12-JAN-83 1100 20
12 7900 JAMES CLERK 7698 03-DEC-81 950 30
13 7902 FORD ANALYST 7566 03-DEC-81 3000 20
14 7934 MILLER CLERK 7782 23-JAN-82 1300 10
SQL> -- to get first five rows ordered by ename:
SQL> EXEC package_name.procedure_name (:g_ref, 'ENAME', 1, 5)
PL/SQL procedure successfully completed.
SQL> PRINT g_ref
R EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
1 7876 ADAMS CLERK 7788 12-JAN-83 1100 20
2 7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
3 7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
4 7782 CLARK MANAGER 7839 09-JUN-81 2450 10
5 7902 FORD ANALYST 7566 03-DEC-81 3000 20
SQL> -- to get second five rows ordered by ename:
SQL> EXEC package_name.procedure_name (:g_ref, 'ENAME', 6, 10)
PL/SQL procedure successfully completed.
SQL> PRINT g_ref
R EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
6 7900 JAMES CLERK 7698 03-DEC-81 950 30
7 7566 JONES MANAGER 7839 02-APR-81 2975 20
8 7839 KING PRESIDENT 17-NOV-81 5000 10
9 7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
10 7934 MILLER CLERK 7782 23-JAN-82 1300 10
SQL> -- to get third set of five rows ordered by ename:
SQL> EXEC package_name.procedure_name (:g_ref, 'ENAME', 11, 15)
PL/SQL procedure successfully completed.
SQL> PRINT g_ref
R EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
11 7788 SCOTT ANALYST 7566 09-DEC-82 3000 20
12 7369 SMITH CLERK 7902 17-DEC-80 800 20
13 7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
14 7521 WARD SALESMAN 7698 22-FEB-81 1250 505.07 30 -
Hello everybody,
First, excuse me for the mistakes I may have made.
I am a trainee and the enterprise I work for is planning to
change the presentation layer (and maybe all the layers) of their
software packages for Flex (at the present time they use the .NET
platform). But in order to ensure that Flex can answer their needs,
they have asked me to make a model using Flex together with Java,
Hibernate, LCDS, SQL Server and Tomcat.
I am currently using those versions :
- jdk 1.5.0_12
- Hibernate 3 (I use the jars provided with LCDS)
- LCDS 2.5
- SQL Server 2005
- Tomcat 5.5
As far as some of the tables from their databases are quite
big (they can reach 2.000.000 rows) I need to implement paging. The
table I currently use for my example is "only" 10.000 rows.
I must confess that I am new to n-tiers architectures and
that there are many concepts I misunderstand.
What I want to do is make the user able to choose how many
rows a page he wants to display (This could look a bit like
this). And
the server would only send this number of rows for each page (which
is not the case for the page I linked).
I have noticed that the implementation of the fill method for
the HibernateAssembler had changed between FDS (
public Collection fill(List fillArgs)) and LCDS (
public Collection fill(List fillArgs, int startIndex, int
numItems)).
You are now able to specify a start index and the number of
rows to display. This is the method I would like to use.
To do so, I have tried to refer to
LCDS
documentation but I find it quite confusing. Here it is :
Using on-demand paging
There are two ways in which the Data Management Service
implements on-demand paging of data by Flex clients. In the default
approach, the fill method returns the entire collection of objects.
The server sends the first page of items to the client as part of
the initial fill request.
As the client code tries to access ArrayCollection elements
which are not resident, additional pages are retrieved from the
server. If the cache-items property is set to true, these pages are
sent directly by the Data Management Service. If the cache-items
property is set to false, the Data Management Service calls the
getItem() method for each item it needs to send to the client.
When the original query is too large to be held in the
server's memory, it is desirable for the Assembler to only return a
single page of items at a time. In this mode, each time the client
requests a page, the Assembler is asked for that page of items and
they are sent directly to the client. Currently this mode is not
supported when the autoSyncEnabled property is set to true for the
paged collection. You must set the autoSyncEnabled property to
false before executing the code. This configuration is not
supported for the SQLAssembler. It is supported for the
HibernateAssembler and you can implement it with your own Java
Assembler implementation.
To enable this second mode, you set the custom="true"
attribute on the paging element in your network settings on the
server and ensure paging is enabled with a reasonable pageSize
value.
If you are using the fill-method approach in your Assembler,
you specify a fill method that matches the fill parameters used by
your client with two additional parameters: the startIndex and the
number of items requested. The Data Management Service calls this
method once for each page requested by the client.
If you are using the Assembler interface approach, you
override the useFillPage() method for the appropriate fill method
to return true for the fill parameters you want paged using custom
paging. When the client requests a page, it calls the fill variant
in the Assembler interface which takes the additional startIndex
and number of items parameters. You return
just those items and they are returned to the client.
When you use custom paging in either the fill-method or
Assembler approach, there are two ways that the client can
determine the size of the collection. When you have enabled the
custom paging mode, on the initial fill request made by the client,
the Data Management Service invokes the count method with the
parameters the client passed to fill. If the count
method returns -1, a dynamic sizing algorithm is used for
this filled collection. In this approach, the assembler's paged
fill method is called with startIndex of 0 and number of items set
to the pageSize + 1. If the assembler method returns less than the
number requested, the size of the fill is known. If it returns the
pageSize+1 items requested, pageSize items are
returned to the client but the client sets the collection
size to pageSize + 1 - with one empty slot at the end. When that
empty item is requested by the client, the next pageSize+1 items
are requested and the process repeats until the assembler returns
less than pageSize+1 items.
The HibernateAssembler implements this dynamic paging
mechanism when you set the page-queries-from-database attribute to
true in the destination's server properties. If you are using an
HQL query sent from the client and the query is a simple query, the
Hibernate assembler attempts to implement a count query by
modifying the query sent from the client.
If you are using a named query, the Hibernate assembler looks
for a query named <original-query-name>.count. If that query
exists, it uses it to compute the size of the paged collection.
Otherwise, it uses the dynamic-sized approach.
I guess I should change
<params>java.util.List</params> for
<params>java.util.List,int,int</params>.
But I don't know which properties to add or modify.
It also talks about the custom attribute of the paging
element. Is it a new attribute that replaces "enabled" ? Or does it
come in addition to it ?
The following files are working and allow me to retrieve the
datas I expect (but without paging).
My data-management-config.xml looks like this :
<?xml version="1.0" encoding="UTF-8"?>
<service id="data-service" class="flex.data.DataService"
messageTypes="flex.data.messages.DataMessage">
<adapters>
....<adapter-definition id="java-adapter"
class="flex.data.adapters.JavaAdapter" default="true"/>
</adapters>
<default-channels>
....<channel ref="my-rtmp"/>
</default-channels>
<destination id="refacteur.hibernate">
....<adapter ref="java-adapter" />
....<properties>
........<use-transactions>true</use-transactions>
........<source>flex.data.assemblers.HibernateAssembler</source>
........<scope>application</scope>
........<metadata>
............<identity property="cleacteur"/>
........</metadata>
........<network>
............<session-timeout>20</session-timeout>
............<paging enabled="false" pageSize="20"/>
............<throttle-inbound policy="ERROR"
max-frequency="500"/>
............<throttle-outbound policy="REPLACE"
max-frequency="500"/>
........</network>
........<server>
............<hibernate-entity>fr.phylum.referentiel.Refacteur</hibernate-entity>
............<fill-method>
................<name>fill</name>
................<params>java.util.List</params>
............</fill-method>
............<fill-configuration>
................<use-query-cache>true</use-query-cache>
................<allow-hql-queries>true</allow-hql-queries>
............</fill-configuration>
........</server>
....</properties>
</destination>
</service>
This is the named query definition I use, found in
Refacteur.hbm.xml :
<query name="refacteur.where.ville.order.by.libacteur">
....<![CDATA[
........from Refacteur as refacteur
........where refacteur.villeActeur = ?
........order by libacteur
....]]>
</query>
And here is the call to the fill method, found in my mxml
application file Acteurs.mxml :
globalFilter.dataService.fill(globalFilter.arrayCollection,
"refacteur.where.ville.order.by.libacteur", ["VANNES"]);
I have tried to modify several things, but nothing works.
I would be most grateful if someone could tell me what to
change in my files in order to make the paging work.
Nathalie.Have you seen the part of the example configs where it talks
about what is required for data paging to work?
<!--
Indicates whether data paging is enabled for the destination
and if you wish to override the
pageSize set for the channel.
Setting the custom flag to true indicates that the
associated assembler has a paged-fill method
corresponding to each method specified via the
<fill-mathod> tag. The paged-fill method
should have two additional java.lang.Integer params at the
end of the parameters specified
via the <params> tag. The first param specifes the
index in the fill collection from which this
method will start retrieving records. And the second param
specifies the number of records to be
retrieved by each paged-fill call.
Default enabled value is false. Default pageSize value is
10. Default custom value is false.
<paging enabled="true" pageSize="5" custom="true"/>
-->
It seems to imply to me that you need the paged fill methods
in your config in addition to the regular ones.
I admit I have not got as far as getting a working paging
setup yet, although this is something I will need to get working in
the near future. -
Hi
I would like to add paging (first row, number of rows) to the Database Adapter that are calling PL/SQL. I can't see any options for this. Is this is something that I have to do at the PL/SQL level to work with Database Adapter? How would I do this in PL/SQL?
RegardsTry something like this...
SELECT * FROM
SELECT a.*, rownum r__
FROM
SELECT * FROM ORDERS WHERE CustomerID LIKE 'A%'
ORDER BY OrderDate DESC, ShippingDate DESC
) a
WHERE rownum < ((pageNumber * pageSize) + 1 )
WHERE r__ >= (((pageNumber-1) * pageSize) + 1)
This was extracted from Frans Bouma's blog...
http://weblogs.asp.net/fbouma/archive/2007/05/21/api-s-and-production-code-shouldn-t-be-designed-by-scientists.aspx
Cheers,
Vlad -
Weird load balancing and paging: What is going on?
Hi,
We have EP 7 installed in our environment. The Portal has a Central Instance and two dialog instances. We are using NetScaler 7 as a load balancer. Our load balancer is currently configured with a weighted round-robin of 3:3:1. For all requests, 3 connections are set to each of the dialog instance with only 1 connection sent to the central instance.
We have recently received a monitoring report which indicates that, despite the load balancing configurations, one of the dialog instance (DI1) is having a higher CPU load. We assume this means that more requests are being sent to one particular instance. Comparing this report with the past reports we have received, this particular instance has been consistently getting higher CPU loads, which is puzzling. The dialog instances in our Portal setup do not do anything else, other than serving Portal requests. In other words, no third party applications are installed on these servers. We do not know why this particular instance is having a higher CPU load. Is there anything that we can do to find out why this instance keeps having a higher CPU load? Is there something we should be doing at the load balancer's end?
On a different note, the other dialog instance (DI2) is having high paging activities. From one of the posts in the forums, it seems to indicate that the high paging might be an indication that the Portal is undergoing some garbage collection activities. However, it does not make sense that only ONE instance is having high paging if garbage collection is carried out on. How is it that the rest of the instances are not having high paging issues? Has anyone come across this situation? What should we do to find out what is going on behind the screens?
Any suggestions/advice would be much appreciated.
Thank You.Hi Dagfinn,
Many thanks for your reply.
Question1: How is NetScaler configured with regards to stickyness?
We have NetScaler Persistence turned on, so that users' requests are served by the same dialog instance from the beginning to the end. We found that if Persistence is not enforced, a user's request could be sent to a different dialog instance, which will cause data inconsistencies. Can this be counted as stickyness? I am not sure how Persistence is maintained. It could be possible that it is done via IP...I will find out more from my colleague, who is maintaining NetScaler.
I guess we will need to have monitoring tools in place to determine the actual load distribution, as you have suggested in Question 2. I guess we will have to consider the viable actions to be taken from what we shall observe...
Question 2: Can you get some data one how NetScaler is distributing the load in practice (not in theory, ie. configuration) ? (usually is a monitoring tool for this in such a product)
I believe my colleague has such tools. I will try to obtain the relevant data and make the appropriate analysis.
Question 3: How many server nodes do you have for the central instance and for the two dialog instances?
We have 1 server node in the central instance and 3 server nodes for each of the dialog instance.
Many thanks again on your suggestion to choose a better score other than weighted round-robin. We'll do the necessary analysis and decide a better score to use on NetScaler.
Edited by: Voon Siong Lum on Jan 17, 2008 1:51 AM -
Problems with diacritics/accents and paging in web viewer
There seem to be some problems in displaying diacritics/accents in the web viewer (CR4E 2 update 4).
On viewing a multi-page report containing accents, when the report is paged forwards/backwards the accented characters are corrupted. This is easily reproduced by creating a report which contains nothing apart from text including accented characters.
The characters render correctly when exported to pdf.
Has anyone else had issues with accented characters?Dealing with multiple MobileMe addresses (aliases) is somewhat different than with having multiple email addresses and aliases with other accounts. The SMTP for MobileMe will not accept sending with non-MobileMe addresses. See:
http://support.apple.com/kb/HT3379
and
http://docs.info.apple.com/article.html?path=MobileMe/Help/en/mm6b1a3de6.html
The next link covers what you have found for having comma separated multiple email addresses in the setup for other accounts:
http://support.apple.com/kb/TA23485
Ernie -
PGA Cache Hit % and paging
Hello!
In AWR report I see decreasing PGA Cache Hit % .
Does it mean that in OS begins more intensive paging ?
Thanks and regards,
PavelPavel wrote:
Hello!
In AWR report I see decreasing PGA Cache Hit % .
Does it mean that in OS begins more intensive paging ?What do OS statistics report?
OS paging is expected & desired; as opposed to swapping.
Maybe you are looking for
-
I recently chance my iMac Hard Disc, cause it crashes...! Whe I initialize Pro Tools everything is working cool...But When I try to listen my sessions.. I can listen like 5 -10 seconds and then stops and appears me this: DAE can't get audio from the
-
How can I create an icon that when clicked will open and maximize an image file?
How do I create a icon that when clicked will open and maximize an image file? I have tried to use the simple image widget with maximize upon tap/click - however I am can only size the image really small and put on the page. I'd prefer to have a gr
-
Hi All, I am working with Oaf 5.7h. I have date field where the user enters date from the front end. I am fetching that value in a date variable(object of java.lang.Date) in my AM by invoking its rowset(rowImpl.getDeparturedate), my problem is that n
-
Packages,patches,RPM required in Oracle Linux 6 for EBS R12 installation.
Hello, I am a not a newbie and i am trying to do a vision installation of Oracle EBS R12 on my laptop. I have downloaded Oracle Enterprise Linux release 6 update 3 media pack from edelivery.com and installed Oracle Linux on Vmware workstaion. Now i w
-
XI3.0 Secure FTP in both directions
Hi! We have an XI 3.0 system running behind the firewall of the DMZ. Our XI scenarios require to automatically: - pull files from FTP servers standing in the internet - push files to FTP servers standing in the internet in a way that is as secure as